🧠 Задача с подвохом для Java-разработчиков
Что выведет следующий код?
public class ListMystery {
public static void main(String[] args) {
List<String> items = Arrays.asList("Java", "Kotlin", "Scala");
items.set(1, "Groovy");
items.add("Clojure"); // строка №5
System.out.println(items);
}
}
Варианты ответа:
1️⃣ Компилируется, выводит
[Java, Groovy, Scala, Clojure]
2️⃣ Ошибка компиляции
3️⃣ Исключение времени выполнения
4️⃣ Выведет
[Java, Groovy, Scala]
— метод add
проигнорирован💡 Подсказка:
Метод
Arrays.asList()
не создаёт обычный ArrayList
, а возвращает фиксированную обёртку над массивом. Размер менять нельзя.✅ Ответ: 3
На строке `items.add("Clojure")` выбрасывается `UnsupportedOperationException`.
Чтобы избежать этой ловушки, создавай изменяемый список явно:
List<String> items = new ArrayList<>(Arrays.asList("Java", "Kotlin", "Scala"));
@javatg
>>Click here to continue<<