Выбор ответа Middle Коллекции изнутри обновлено

List.of и Arrays.asList

Вопрос

Какое утверждение верно?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: List.of неизменяем и без null, Arrays.asList разрешает set. List.of (Java 9) полностью неизменяем: любая модификация бросает UnsupportedOperationException, null запрещён даже при создании.

Варианты ответа

  1. Оба полностью неизменяемы и бросают исключение на set и add
  2. List.of неизменяем и без null, Arrays.asList разрешает setправильный ответ
  3. Arrays.asList создаёт независимую копию массива и поддерживает add
  4. List.of разрешает set и null, но не add и не remove

Разбор

List.of (Java 9) полностью неизменяем: любая модификация бросает UnsupportedOperationException, null запрещён даже при создании. Arrays.asList это представление массива фиксированного размера: set разрешён и пишет в исходный массив, а add/remove бросают UnsupportedOperationException. Копии массива он не делает.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме