非常感谢大家的热心回应,我完全理解了
现在只剩一个小问题想问...
ex1:
String a = "Hello";
a = "kdok123";
这个结果是new了两个String的空间在Heap
ex2:
Interger a = 3;
a = 4;
结果是new了一个Interger的空间在Heap,a指向的值从3改成了4
以上两个例子体现了String的不可变性
请问例子的观念是对的吗?
另外还有一个小疑惑:为什么java要定义String的不可变性呢?
除了不断的增加heap和GC的负担之外我想不到其他好处欸...