tg-me.com/javatg/1860
Last Update:
🧠 Задача с подвохом для 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
BY Java
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/javatg/1860