Вот моя программа. Я не уверен, почему я получаю ошибку времени компиляции.
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List< ? extends Number > list = new ArrayList<Integer>();
list.add(6); // Compile Time Error
System.out.println(list);
}
}
Но следующая программа отлично работает
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List< ? super Number > list = new ArrayList<Number>();
list.add(6);
System.out.println(list);
}
}
Ошибка с Eclipse:
Вот описание ошибки из Eclipse:
Метод add (int, capture # 1-of? extends Number) в типе List is not применимо для аргументов (int)