Назад к вопросам
СБЕР
Junior — Middle
67
Каким образом включить список в DTO, который нельзя изменять после создания?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Чтобы включить в DTO список, который нельзя изменять после создания, можно:
- Использовать
Collections.unmodifiableListдля обёртки списка при присвоении в поле. - Сделать поле
finalи инициализировать его в конструкторе. - При передаче списка в конструктор создавать копию, чтобы избежать внешних изменений.
Пример:
import java.util.Collections;
import java.util.List;
public class MyDTO {
private final List<String> items;
public MyDTO(List<String> items) {
this.items = Collections.unmodifiableList(new ArrayList<>(items));
}
public List<String> getItems() {
return items;
}
}
Такой подход гарантирует, что список внутри DTO нельзя изменить извне.