String

来源:互联网 发布:建站abc版模 编辑:程序博客网 时间:2024/06/04 18:45

不可变的String

     1.String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来修改String值得方法,其实都是创建了一个全新的String对象,以包含修改后的字符串的内容。而最初的String对象则丝毫未动。
 
     2.每当把String对象作为方法的参数时,都会复制一份引用。而该 引用所指的对象其实一直呆在单一的物理位置(内存地址)上,从未动过。
 
     3.其实对于类似于:String s =  "landon";String ss = Immutable.upcase(s);难道我们真的希望upcase将参数s改变吗?对于一个方法而言,参数是为该方法提供信息的,而不是想让该方法改变自己的。这一点很重要,正因为有了这保障,才使得代码易于编写和阅读。