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();