Новое Распределяем каналы MAX по категориям и территориям. Читать новость

unmodifiableList: представление, а не снимок



var source = new ArrayList<>(List.of("A"));
var view = Collections.unmodifiableList(source);
var snapshot = List.copyOf(source);
source.add("B");
System.out.println(view);     // [A, B]
System.out.println(snapshot); // [A]

Обёртка запрещает изменение списка через view, но показывает изменения исходного списка.

List.copyOf(), доступный с Java 10, создаёт независимый по составу неизменяемый список и не принимает null-элементы. Копия поверхностная: изменяемые объекты внутри неё остаются теми же объектами.

При возврате данных из сервиса решите, нужен читателю текущий вид коллекции или снимок на момент вызова.

#Java

Java Библиотека | Мы в Телеграм
Просмотры: 184
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти