Sobes.tech
Junior — Middle

Quais são as vantagens e desvantagens de objetos que não mudam após a criação?

sobes.tech IA

Resposta da IA

Os objetos imutáveis, que não mudam após a sua criação, têm as seguintes vantagens e desvantagens:

Vantagens:

  • Segurança em multithreading: objetos imutáveis podem ser usados com segurança em ambientes multithread sem sincronização.
  • Facilidade de compreensão: o estado do objeto não muda, o que facilita a depuração e os testes.
  • Uso como chaves em coleções (por exemplo, em HashMap) sem risco de alteração do hash.

Desvantagens:

  • Ineficiência em alterações frequentes: para modificar um objeto, é necessário criar uma nova instância, o que pode acarretar custos adicionais em memória e tempo.
  • Complexidade ao trabalhar com grandes estruturas de dados que requerem atualizações frequentes.

Exemplo de criação de um objeto imutável em Java:

public final class Person {
    private final String name;
    private final int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() { return name; }
    public int getAge() { return age; }
}