码迷,mamicode.com
首页 > 其他好文 > 详细

String的不变性

时间:2015-03-13 20:51:31      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

String类型的不变性理解:


String x = "java";

System.out.println(x);//输出为java

x.concat("java");//该方法是在原来的变量后面添加一个字符串然后变成新的字符串

System.out.println(x);//输出为java

x=x.concat("java");

System.out.println(x);输出为javajava

这就是不变性的概念。


所谓的不变性是指引用的对象实例的是不可以改变的,但是可以改变引用地址,所以通过改变引用地址就可以改变值了。


String 常量池



     因为String常量占用的内存空间比较大,因此为了节省内存,JVM专门用一片特殊的区域用作String 常量池,面对String 常量,会检查是否存在于String 常量池中,如果存在,直接一个引用搞定了,就避免重复浪费内存空间。因此必须确保这个具体的常量不能被改变了。这就是上面所讲到的不变性。

 String a="jiao";//这个就是可以使用在String 常量池的常量。

 String a =new String("jiao");//这个就不是放置在String 常量池中,而是放置在常规内存中。


String的不变性

标签:

原文地址:http://blog.csdn.net/sxhlovehmm/article/details/44244831

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!