Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将整数元素添加到泛型中通配符的ArrayList中?_Java_Generics_Arraylist_Integer - Fatal编程技术网

Java 如何将整数元素添加到泛型中通配符的ArrayList中?

Java 如何将整数元素添加到泛型中通配符的ArrayList中?,java,generics,arraylist,integer,Java,Generics,Arraylist,Integer,我有一个ArrayList通用通配符类型,它将数字作为扩展。我正在尝试将整数值添加到ArrayList中 但是这样说给了我一个错误 ArrayList<? extends Number> numberList = new ArrayList<Number>(); numberList = new ArrayList<Integer>(); numberList.add(100); ArrayList不适用于参数(int) 我也试过用这种方法,

我有一个ArrayList通用通配符类型,它将数字作为扩展。我正在尝试将整数值添加到ArrayList中

但是这样说给了我一个错误

ArrayList<? extends Number> numberList = new ArrayList<Number>();
    numberList = new ArrayList<Integer>();
    numberList.add(100);
ArrayList
不适用于参数(int)

我也试过用这种方法,但却给了我同样的错误

ArrayList<?> numberList = new ArrayList<Number>();
    numberList = new ArrayList<Integer>();
    numberList.add(100);
ArrayList numberList=新建ArrayList();
numberList=新的ArrayList();
数字列表加(100);
错误是:

类型
ArrayList
中的add(int,capture#2-of?)方法不适用于参数(int)


你不能。
?extends
部分基本上告诉编译器:它属于某种类型,我不知道,但它扩展了数字


因此,编译器无法保证要添加的任何类型都与未知类型兼容。因此,您不能向这样的集合添加任何内容。

您不能。
?extends
部分基本上告诉编译器:它属于某种类型,我不知道,但它扩展了数字


因此,编译器无法保证要添加的任何类型都与未知类型兼容。因此,您不能向这样的集合中添加任何内容。

您不能向列表中添加整数,因为它可能是一个浮点列表,而不是整数列表

你可以做:

ArrayList<? super Number> numberList = new ArrayList();
numberList.add(100);

ArrayList不能向列表中添加整数,因为它可能是一个浮点列表,而不是整数列表

你可以做:

ArrayList<? super Number> numberList = new ArrayList();
numberList.add(100);
ArrayList可能的解决方法:

List<? extends Number> numberList = new ArrayList<Number>();
List<Integer> integerList = new ArrayList<>():
integerList.add(100);
numberList = integerList;
列出一个可能的解决方法:

List<? extends Number> numberList = new ArrayList<Number>();
List<Integer> integerList = new ArrayList<>():
integerList.add(100);
numberList = integerList;
List您可以使用

 ArrayList <?  super Number> numberList = new ArrayList<Number>();
 Number number = 1;
 numberList.add(number);

 or

 numberList.add(1);
ArrayList您可以使用

 ArrayList <?  super Number> numberList = new ArrayList<Number>();
 Number number = 1;
 numberList.add(number);

 or

 numberList.add(1);

ArrayList您应该这样做

ArrayList<? super Number> numberList = new ArrayList<Number>();
numberList.add(100);

ArrayList您应该这样做

ArrayList<? super Number> numberList = new ArrayList<Number>();
numberList.add(100);
ArrayListCheck。无法向具有
的集合添加任何内容?扩展
检查。无法向具有
的集合添加任何内容?扩展