不可变对象

不可变对象需要满足的条件

  • 对象创建以后其状态就不能修改
  • 对象所有域都是final类型
  • 对象是正确创建的(在对象创建期间,this引用没有逸出)

final 关键字:类,方法,变量

  • 修饰类:不能被继承
  • 修饰方法:1.锁定方法不被继承类修改;2.效率
  • 修饰变量: 基本数据类型变量,初始化之后就不能变了,,引用类型变量,初始化之后就不能再指向别的地方了

Collections.unmodifiableXXX:Collection,List,Set,Map
Guava:ImmutableXXX:Collection,List,Set,Map

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容