Что выведет код Middle Коллекции изнутри обновлено
Что выведет: Arrays.asList и исходный массив
Вопрос
Что выведет программа (Java 21)? Каждый вывод println с новой строки.
import java.util.*;
public class Main {
public static void main(String[] args) {
String[] arr = {"a", "b", "c"};
List<String> list = Arrays.asList(arr);
list.set(0, "z");
System.out.println(arr[0]);
arr[1] = "y";
System.out.println(list);
try {
list.add("d");
} catch (UnsupportedOperationException e) {
System.out.println("UOE");
}
int[] nums = {1, 2, 3};
System.out.println(Arrays.asList(nums).size());
}
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: z, [z, y, c], UOE, 1. Arrays.asList это представление массива: set пишет в массив, изменения массива видны в списке.
Что выведет
z
[z, y, c]
UOE
1
Разбор
Arrays.asList это представление массива: set пишет в массив, изменения массива видны в списке. Размер фиксирован, add бросает UnsupportedOperationException. С int[] ловушка: дженерик не может быть примитивом, поэтому получается List<int[]> из одного элемента.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.