从集合框架概述:
不支持修改操作(例如
add,remove和clear)的集合称为不可修改.不可修改的集合是可修改的.另外保证
Collection对象中没有可见变化的集合称为不可变.不可变的集合是可变的.
我无法理解这种区别.这里不可修改和不可变
的区别是什么?
众所周知,Java String是不可变的.从一开始,不可变字符串就是java的重要补充.与C风格的字符串相比,不变性允许快速访问和大量优化,显着减少了错误,并有助于实施安全模型.
可以在不使用黑客的情况下创建可变的,即
java.lang.reflectsun.misc.Unsafe但它是否可以只用普通的Java,以便可以随时修改字符串?问题是如何?
必须是不可变对象的所有属性都是final?
据我说不.但我不知道,我是否正确.