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



tg-me.com/javatg/1860
Create:
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

View MORE
Open in Telegram


Java Telegram | DID YOU KNOW?

Date: |

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

Java from ua


Telegram Java
FROM USA