...java语言基础 刘苍松 java

...java语言基础 刘苍松 javaString 类 String 对象特性 ch 是 final 类型的数组 ch 内存放的是堆中的地址 所以 ch 不能指向新的地址 但是数组内 堆内 单个字符内容是可以变化 13 5 2 String VS StringBuffer 第一种理解

大家好,我是讯享网,很高兴认识大家。



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的,数组里面的内容是变量而不是常量。(参考上文图)

日期类

13.12 本章作业


                    
小讯
上一篇 2024-12-25 20:18
下一篇 2024-12-31 22:39

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/1600.html