
为什么String对象称为不可变的
展开全部
java里面对它的这么设定的,final修饰的。
不可变是创建后的对象不可以改变的意思。
好处:
1 不可变对象可以提高String Pool(字符串常量池)的效率和安全性。
2 对于多线程是安全的,因为在多线程同时进行的情况下,一个可变对象的值很可能被其他线程改变这样会造成不可预期的结果,使用不可变对象就可以避免这种情况出现。
java将String设成不可变最大的原因是效率和安全。
但是当你需要向字符串插入或修改的时候,Sting不可变类型就显得足襟见肘,这时候就需要一个可变的字符串类型:StringBuffer。
所以String和StringBuffer都存在。
不可变是创建后的对象不可以改变的意思。
好处:
1 不可变对象可以提高String Pool(字符串常量池)的效率和安全性。
2 对于多线程是安全的,因为在多线程同时进行的情况下,一个可变对象的值很可能被其他线程改变这样会造成不可预期的结果,使用不可变对象就可以避免这种情况出现。
java将String设成不可变最大的原因是效率和安全。
但是当你需要向字符串插入或修改的时候,Sting不可变类型就显得足襟见肘,这时候就需要一个可变的字符串类型:StringBuffer。
所以String和StringBuffer都存在。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询