New We are sorting MAX channels into categories and territories. Read the news

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 Библиотека | Мы в Телеграм
Views: 167
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go