天天看點

不可變對象

不可變對象指聲明并指派後就不可更改的變量,包括基本類型和執行個體對象。實作方法有:

1.由final修飾

    final修飾的類不可繼承,final修飾的方法不可重寫,final修飾的基本變量不可更改值(包括Integer這樣的包裝類),final修飾的對象不可被重新引用至新的位址(但是這個位址中的對象本身可以被修改)。

2.采用專門的不可變對象類

    為了保證對象中的值也不能被修改。可以采用不可變對象類。Collections類提供了不可變對象方法,将普通的Collection對象(LIST,MAP,SET等),通過Collections.unmodifiableXXX()方法,擷取其不可變對象。

    除此之外,可以使用guava提供的不可變對象(ImmutableXXX)