StringBuffer,StringBuilder類 總結2
須要注意的知識點:
1):
// String -- >StringBuffer
String s = "hello";
// 注意:不能把字符串的值直接賦值給StringBuffer
// StringBuffer sb = "hello";
// StringBuffer sb = s;
// 方式1:經過構造方法
StringBuffer sb = new StringBuffer(s);
// 方式2:經過append()方法java
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();面試
3)數組
4) String和StringBuffer相互轉換
String -- StringBuffer
構造方法
StringBuffer -- String
toString()方法
5)安全
6):StringBuffer和數組的區別?app
7):形式參數問題ide
public static void main(String[] args) {
String s1 = "hello";
String s2 = "world";
System.out.println(s1 + "---" + s2);// hello---world
change(s1, s2);
System.out.println(s1 + "---" + s2);// hello---worldui
StringBuffer sb1 = new StringBuffer("hello"); StringBuffer sb2 = new StringBuffer("world"); System.out.println(sb1 + "---" + sb2);// hello---world change(sb1, sb2); System.out.println(sb1 + "---" + sb2);// hello---worldworld } public static void change(StringBuffer sb1, StringBuffer sb2) { sb1 = sb2; 局部變量賦值本能改變實際參數 sb2.append(sb1); } public static void change(String s1, String s2) { s1 = s2; s2 = s1 + s2; }