非常感謝大家的熱心回應,我完全理解了
現在只剩一個小問題想問...
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的負擔之外我想不到其他好處欸...