Java String对象不可改变的特性
String对象一旦被创建就不能被改变,而StringBuffer是可变的。这句话怎么理解?
1.声明String对象
String s = "abcd";
![]()
2.将一个字符串变量赋值给另一个String变量
String s2 = s;

3.字符串连接
s = s.concat("ef");
// s = s + "ef"; // 等价

总结:
一个String对象在堆内存中创建以后,就不能改变。请注意String对象的所有方法不会改变其本身,而是会返回一个新的String对象.
如果我们需要可改变的字符串,则需要使用StringBuffer.否则每次创建一个新String对象的话,就会造成大量的内存浪费,需要耗时来执行垃圾回收。
如果字符串需要经常改变,一般选择用StringBuffer.
参考文章:
http://blog.csdn.net/renfufei/article/details/15815121


浙公网安备 33010602011771号