Sobes.tech
Junior — Middle
104

Wie implementiert man in Java eine Klasse, deren Instanzen nach der Erstellung nicht verändert werden können?

Unternehmen wurden gefragt
DCloud
ИннотехИннотех
JSA Group

Antwort von AI

sobes.tech KI

Чтобы сделать класс в Java неизменяемым (immutable), нужно:

  • Объявить класс как final, чтобы его нельзя было унаследовать и изменить поведение.
  • Сделать все поля private и final.
  • Не предоставлять сеттеры для полей.
  • Инициализировать все поля через конструктор.
  • Если поля — это изменяемые объекты (например, массивы или коллекции), создавать их копии при передаче в конструктор и при возврате из геттеров.

Пример:

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;
    }
}