Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> xs = List.of("a");
xs.add("b");
System.out.println(xs);
}
}Исключение UnsupportedOperationException
- Ждать
[a, b]:List.ofсоздаёт неизменяемый список, иadd,removeиsetу него бросают исключение; чтобы менять, скопируйте его вnew ArrayList<>(...). - Ждать ошибку компиляции: в типе
Listметодaddобъявлен, поэтому вызов компилируется; список отказывается меняться только при запуске.
- Как получить изменяемый список из
List.of("a")? - Что будет при вызове
set(0, "b")у того же списка?