Sobes.tech
Junior — Middle

¿Puedes explicar qué es una clase inmutable en Java y cómo se crea?

sobes.tech AI

Respuesta de la IA

Una clase inmutable en Java es una clase cuyos objetos no pueden ser modificados después de su creación. Estas clases son útiles para garantizar la seguridad de los datos y la concurrencia.

Para crear una clase inmutable, debes:

  • Hacer que la clase sea final, para que no pueda ser heredada y modificar su comportamiento.
  • Hacer que todos los campos sean private y final.
  • No proporcionar setters (métodos para modificar los campos).
  • Inicializar todos los campos a través del constructor.
  • Si los campos son objetos mutables, devolver copias de ellos en los getters para evitar modificar el estado interno.

Ejemplo:

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

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

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}