String类
String对象特性
讯享网
ch 是final类型的数组,ch内存放的是堆中的地址,所以ch不能指向新的地址,但是数组内(堆内)单个字符内容是可以变化。

13.5.2 String VS StringBuffer

第一种理解:String不能更改value数组内容的原因是它没有提供更改方法,所以要更改只能换对象地址。(虽然理论上value数组里面的内容可以变,只是value指向的地址不能变,但是private final 的value数组所在的String类并没有向外提供一个更改方法。所以要更改只能重新创建一个对象。)
第二种理解:String对象中的value[]所指向的地址是常量池,常量池中存放的内容是不可修改的,所以String的value[]数组里存放的内容是不可修改的。value本身也是final...java语言基础 刘苍松 java不可修改,不能指向新的地址。所以要更改只能重新创建一个对象。
与上文这段代码对比:
讯享网
这里的只有value是final的,数组里面的内容是变量而不是常量。(参考上文图)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/1600.html