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

 

 posted on 2017-09-25 16:53  布鲁布鲁sky  阅读(353)  评论(0编辑  收藏  举报