String:不可变

StringBuffer:可变

StringBuffer 上的任何修改性的操作都是在同一个字符数组上进行的,
所以修改其中任一个值 另一个的值也会随着改变!

StringBuffer sb1 = new StringBuffer("abcd");

StringBuffer sb2 = sb1;//sb1赋值给sb2

sb2.append("abc");//sb2改变值,sb1也同时改变了

有时候,需要前面定义一个不可变的字符串,后面定义一个可变的字符串,这时候需要String和StringBuffer搭配使用

String——>StringBuffer:

String sb1 = "abc";
StringBuffer sb2 = new StringBuffer(sb1);

StringBuffer——>String:  String str = sb.toString();

StringBuffer sb1 = new StringBuffer("abcd");
String sb2 = sb1.toString();
05-11 04:49