为了使类成为不可变的,应该遵循以下五条原则:
1. 不要提供任何会下盖对象状态的方法
2. 保证类不会被扩展
3. 使所有的域都是final的
4. 使所有的域都成为私有的
5. 确保对于任何可变组件的互斥访问(如果类具有指向可变对象的域,不要暴漏该对象的引用,也不要使用客户端提供的引用直接初始化该域。可以使用保护性拷贝技术)
Effective Java -- 使可变性最小化
原文:https://www.cnblogs.com/noobtop/p/10780924.html