我覺得如果別人問這個問題的話,回答不可變就可以了。 下面只是給大家看兩個有代表性的例子:
1. String不可變但不代表引用不可以變
結(jié)果:
str=Hello World
解析:
實際上,原來String的內(nèi)容是不變的,只是str由原來指向"Hello"的內(nèi)存地址轉(zhuǎn)為指向"Hello World"的內(nèi)存地址而已,也就是說多開辟了一塊內(nèi)存區(qū)域給"Hello World"字符串。
2. 通過反射是可以修改所謂的“不可變”對象
結(jié)果:
s = Hello Worlds = Hello_World
解析:
用反射可以訪問私有成員, 然后反射出String對象中的value屬性, 進而改變通過獲得的value引用改變數(shù)組的結(jié)構(gòu)。但是一般我們不會這么做,這里只是簡單提一下有這個東西。