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

 

posted @ 2014-10-06 18:51  楚藉  阅读(323)  评论(0编辑  收藏  举报