🔍 Ответ на задачу про списки: В чём подвох Arrays.asList() и List.of()? 📝
Казалось бы, оба метода создают список из элементов. Но ведут они себя совершенно по-разному, что часто приводит к
Объяснение:
Вывод:
⚡️ Не перепутайте:
Нужен список, который меняется вместе с массивом? Используйте
Нужна гарантия неизменяемости и безопасности? Используйте
Было полезно? Жми ❤️ и подписывайся, чтобы не пропустить новые разборы!
#java #collections #list #arrays #immutable #backend #интервью #java_interview_tasks
Казалось бы, оба метода создают список из элементов. Но ведут они себя совершенно по-разному, что часто приводит к
UnsupportedOperationException или неожиданным изменениям данных.Объяснение:
Arrays.asList() — это "обертка" над массивом. Он возвращает список фиксированного размера. Если изменить элемент в массиве, он изменится и в списке! Добавлять/удалять элементы нельзя. List.of() (появился в Java 9) создает полностью неизменяемый (immutable) список. Он копирует данные из массива. Изменение массива на него не влияет. Добавлять/удалять элементы также нельзя. Кроме того, List.of() запрещает null.Вывод:
list1.get(0) выведет "C" (связь с массивом сохранена).list2.get(0) выведет "A" (данные скопированы).⚡️ Не перепутайте:
Нужен список, который меняется вместе с массивом? Используйте
Arrays.asList().Нужна гарантия неизменяемости и безопасности? Используйте
List.of().Было полезно? Жми ❤️ и подписывайся, чтобы не пропустить новые разборы!
#java #collections #list #arrays #immutable #backend #интервью #java_interview_tasks
❤10🔥3👍2