String 不可变性,为什么没懂哪里证明了不可变
String str = "hello"; System.out.println(str + "world"); System.out.println(str); //也没改变str啊,str不可能变啊,为什么说证明了不可变性呢
String str = "hello"; System.out.println(str + "world"); System.out.println(str); //也没改变str啊,str不可能变啊,为什么说证明了不可变性呢
2016-07-22
package cn.yqg.day3;
public class Test8 {
public static void main(String[] args) {
String str="ss";//内存开辟空间,存储ss,将地址赋值给str。
System.out.println(str.hashCode());
str=str+"pp";//新开辟一个内存空间存储str+"pp",并将内存地址赋值给str,那么上面的ss存储地址将没有变量来赋值,变成了垃圾。
System.out.println(str.hashCode());
}
}
两次输出结果不一样。可以参考https://www.cnblogs.com/zzuli/p/9381266.html
举报