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