Встречается на собеседованиях • сегодня

Как сделать объект неизменяемым после создания

В Java можно создать неизменяемый объект несколькими способами: 1. **final класс и поля**: ```java 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; } } ``` 2. **Защита от изменений в коллекциях**: Для коллекций используйте `Collections.unmodifiableList()` или аналоги: ```java private final List hobbies = Collections.unmodifiableList(new ArrayList<>(hobbiesList)); ``` 3. **Глубокое копирование**: Если объект содержит изменяемые поля (например, Date), возвращайте копии: ```java public Date getBirthDate() { return new Date(birthDate.getTime()); } ``` 4. **Не предоставлять сеттеры** Ключевые принципы: - Все поля `final` - Нет методов, изменяющих состояние - Защита изменяемых полей (коллекции, массивы) - Глубокое копирование при возврате изменяемых объектов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы