TG Telegram Group & Channel
Java | United States America (US)
Create: 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

🧠 Задача с подвохом для 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<<

Java




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)