Чтобы сделать класс неизменяемым (immutable) в Java, нужно следовать нескольким принципам:
final
, чтобы его нельзя было унаследовать и изменить поведение.private
и final
, чтобы их нельзя было изменить после инициализации объекта.setters
).List
или Date
), в геттерах нужно возвращать их копии, а не ссылки на оригинальные объекты. В конструкторе также принимать копии изменяемых объектов.equals()
и hashCode()
, если это необходимо для корректного сравнения объектов и работы с коллекциями.Пример:
java
Чтобы сделать класс неизменяемым (immutable) в Java, нужно следовать нескольким принципам:
final
, чтобы его нельзя было унаследовать и изменить поведение.private
и final
, чтобы их нельзя было изменить после инициализации объекта.setters
).List
или Date
), в геттерах нужно возвращать их копии, а не ссылки на оригинальные объекты. В конструкторе также принимать копии изменяемых объектов.equals()
и hashCode()
, если это необходимо для корректного сравнения объектов и работы с коллекциями.Пример:
java
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.