TGViewer
Библиотека джависта | Java, Spring, Maven, Hibernate Библиотека джависта | Java, Spring, Maven, Hibernate @javaproglib · 22K subscribers
Post #7899 514
🧩 Неизменяемый список всё ещё может измениться

Collections.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]


🟡 Если возвращаете наружу текущее состояние коллекции и не хотите, чтобы дальнейшие изменения исходного списка были видны читателю, используйте List.copyOf() — он доступен с Java 10.

Копия поверхностная: сами изменяемые объекты внутри неё не становятся неизменяемыми. И null-элементы она не принимает.

🔗 Источник • Разбор и примеры

══════ Навигация ══════
Вакансии • Задачи • Собесы

🐸 Библиотека джависта

#CoreJava
More from @javaproglib
  1. Oct 15, 2026💡 Logpoints: логи без правки кода и нового деплоя Чтобы увидеть значение переменной, необ…
  2. Oct 14, 2026Post #7897
  3. Oct 14, 2026Почему разработчик планирует отдавать больше задач Claude Винсент Шмальбах описал план пер…
  4. Oct 14, 2026🛠 Контейнер запущен, а тест всё равно падает Порт уже открыт, но приложение ещё применяет…
  5. Oct 13, 2026🧠 Почему BigDecimal считает 2.0 и 2.00 разными Что выведут эти две строки? var a = new Bi…
  6. Oct 12, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →