Назад к вопросам
Junior — Middle
60
Каким образом можно обеспечить неизменяемость списка, являющегося полем класса?
Ответ от нейросети
sobes.tech AI
Чтобы обеспечить неизменяемость списка, являющегося полем класса в Java, можно:
- Использовать
Collections.unmodifiableList()для обёртки изменяемого списка, чтобы внешние пользователи не могли его изменить. - Инициализировать поле списком, который сам по себе неизменяем, например, через
List.of()(Java 9+). - Сделать поле
private finalи не предоставлять методов, которые изменяют список.
Пример:
import java.util.Collections;
import java.util.List;
public class MyClass {
private final List<String> items;
public MyClass(List<String> input) {
this.items = Collections.unmodifiableList(input);
}
public List<String> getItems() {
return items;
}
}
Таким образом, внешний код не сможет изменить содержимое списка через поле класса.