StringBuffer和String的區別?
前者長度和內容可變,後者不可變。
若是使用前者作字符串的拼接,不會浪費太多的資源。java
StringBuffer的構造方法:
public StringBuffer():無參構造方法
public StringBuffer(int capacity):指定容量的字符串緩衝區對象
public StringBuffer(String str):指定字符串內容的字符串緩衝區對象數組
默認容量爲16安全
添加功能:app
public StringBuffer append(String str):追加
public StringBuffer insert(int offset,String str):指定位置插入字符串ui
刪除功能:
public StringBuffer deleteCharAt(int index):刪除指定位置的字符,並返回自己
public StringBuffer delete(int start,int end):刪除從指定位置開始指定位置結束的內容,並返回自己
替換功能:
public StringBuffer replace(int start,int end,String str):從start開始到end用str替換spa
反轉功能:
public StringBuffer reverse()對象
截取功能:ci
注意返回值類型再也不是StringBuffer自己了
public String substring(int start)
public String substring(int start,int end)資源
String -轉化爲-StringBuffer字符串
String s = "hello";
// 注意:不能把字符串的值直接賦值給StringBuffer
// StringBuffer sb = "hello";
// StringBuffer sb = s;
// 方式1:經過構造方法
StringBuffer sb = new StringBuffer(s);
// 方式2:經過append()方法
StringBuffer sb2 = new StringBuffer();
sb2.append(s);
StringBuffer -轉化爲- String
StringBuffer buffer = new StringBuffer("java");
// String(StringBuffer buffer)
// 方式1:經過構造方法
String str = new String(buffer);
// 方式2:經過toString()方法
String str2 = buffer.toString();
1:String,StringBuffer,StringBuilder的區別? A:String是內容不可變的,而StringBuffer,StringBuilder都是內容可變的。 B:StringBuffer是同步的,數據安全,效率低;StringBuilder是不一樣步的,數據不安全,效率高 2:StringBuffer和數組的區別? 兩者均可以看出是一個容器,裝其餘的數據。 可是呢,StringBuffer的數據最終是一個字符串數據。 而數組能夠放置多種數據,但必須是同一種數據類型的。3:形式參數: 基本類型:形式參數的改變不影響實際參數 引用類型:形式參數的改變直接影響實際參數 *注意: String做爲參數傳遞,效果和基本類型做爲參數傳遞是同樣的。