不可變對象需要滿足的條件
- 對象創(chuàng)建以后其狀態(tài)就不能修改
- 對象所有域都是final類型
- 對象是正確創(chuàng)建的(在對象創(chuàng)建期間圣勒,this引用沒有逸出)
final 關(guān)鍵字:類澳叉,方法衙四,變量
- 修飾類:不能被繼承
- 修飾方法:1.鎖定方法不被繼承類修改相种;2.效率
- 修飾變量: 基本數(shù)據(jù)類型變量塑猖,初始化之后就不能變了遣妥,擅编,引用類型變量,初始化之后就不能再指向別的地方了
Collections.unmodifiableXXX:Collection,List,Set,Map
Guava:ImmutableXXX:Collection,List,Set,Map