为了账号安全,请及时绑定邮箱和手机立即绑定

理解不了可变性的看这里!

https://img1.sycdn.imooc.com//5c6e49ba0001f96a09490296.jpg

因为String类是由final修饰的,所以是不可变的(详情可见:http://www.cnblogs.com/dolphin0520/p/3778589.html)。另外我们可以看到,在没有new新的String时,对原来的字符进行修改,String的hashCode值会改变。

https://img1.sycdn.imooc.com//5c6e4b4200013a1f09840269.jpg

而StringBuild的hashCode值不变。

由上我们可以看出,String类具有不可变性,其字符串发生改变后会创建新的位置来存储;而StringBuild和StringBuffer是在原有对象上进行修改,其位置不变.

正在回答

13 回答

好总结,mark下了

0 回复 有任何疑惑可以回复我~

很不错 

0 回复 有任何疑惑可以回复我~

想问一下String类对象即使前面不加final字符,本身也是final的对象吗?

0 回复 有任何疑惑可以回复我~
#1

weixin_宝慕林3284480

是的。
2023-07-26 回复 有任何疑惑可以回复我~

请问即使String类对象不在前面加上final字符,本身也是final的是吗?

0 回复 有任何疑惑可以回复我~

搜嘎!


0 回复 有任何疑惑可以回复我~

感谢。

0 回复 有任何疑惑可以回复我~

非常感谢!

0 回复 有任何疑惑可以回复我~

非常感谢


0 回复 有任何疑惑可以回复我~

感谢。

0 回复 有任何疑惑可以回复我~

感谢。

0 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消

理解不了可变性的看这里!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信