Java 如何将整数元素添加到泛型中通配符的ArrayList中?
我有一个ArrayList通用通配符类型,它将数字作为扩展。我正在尝试将整数值添加到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<? 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。无法向具有的集合添加任何内容?扩展
检查。无法向具有的集合添加任何内容?扩展