参考blog:[url](http://blog.csdn.net/dapangzi88/article/details/60867964)
如何创建一个不可变类?要创建不可变类,只要遵循下面几条规则:不要提供任何会修改对象状态的方法。保证类不会被拓展(一般声明为final即可)。使所有的域都是 private final的。确保对于任何可变组件的互斥访问(可以理解如果中存在可变对象的域,得确保客户端无法获得其引用,并且不要使用客户端提供的对象来初始化这样的域)。Java出于安全性等因素考虑将某些类如:String、基本类型的包装类、BigInteger、BigDecimal设计成为不可变类。