在java语言中,String是不可变类,String对象一旦被创建,其值不能被改变;而StirngBuffer是可变类,当对象被创建后,仍然可以对其值进行修改。
- 例如:String a =“2”;
- a=“3”;
- 这时很多人就会说,a的值不是已经发生变化了吗?为什么java规则说String对象没有发生变化呢?
- 原因:a的值从2变成3,是因为a的指向已经发生了变化(也就是说“2”的索引还在,“3”是另外一个索引了)。
- 而StringBuffer所指向的索引没有变化,只是索引对应的值发生变化
- 还不明白,上图!!!

本文详细解析了Java中String与StringBuffer类的主要区别。String是不可变类,一旦创建,其值不能更改;而StringBuffer是可变类,创建后仍可修改其值。文章通过实例解释了两者的内存指向差异。
225

被折叠的 条评论
为什么被折叠?



