Imutabilidade
Objetos imutáveis são aqueles que suas instâncias não podem ter seu estado alterado após terem sido criadas e nem mudam durante a aplicação. Exemplos de classes imutáveis se encontram de maneira abrangente nas bibliotecas nativas do Java, como na própria classe String
:
O exemplo de código acima parece "não funcionar", mas na verdade, funciona. O que acontece é que String
é imutável, e nenhum de seus métodos pode alterar o seu estado. Ao invés disso, trim()
retorna uma nova String a partir das modificações propostas pelo método.
Para que um objeto seja considerado imutável, em Java, ela deve seguir as seguintes características:
Métodos não podem modificar seu estado
Definida como final
Atributos devem ser privados e final
Um exemplo de classe imutável em Java:
Caso sua classe tenha composição com objetos mutáveis, eles devem ter acesso exclusivo pela sua classe, devolvendo cópias defensivas.
Last updated
Was this helpful?