为什么String对象称为不可变的

 我来答
傲雪寒online
2018-04-26 · 超过24用户采纳过TA的回答
知道答主
回答量:70
采纳率:87%
帮助的人:34.8万
展开全部
java里面对它的这么设定的,final修饰的。
不可变是创建后的对象不可以改变的意思。
好处:
1 不可变对象可以提高String Pool(字符串常量池)的效率和安全性。
2 对于多线程是安全的,因为在多线程同时进行的情况下,一个可变对象的值很可能被其他线程改变这样会造成不可预期的结果,使用不可变对象就可以避免这种情况出现。
java将String设成不可变最大的原因是效率和安全。

但是当你需要向字符串插入或修改的时候,Sting不可变类型就显得足襟见肘,这时候就需要一个可变的字符串类型:StringBuffer。
所以String和StringBuffer都存在。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式