gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:05 24 4
gpt4 key购买 nike

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

但是它给了我一个错误说

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

The method add(int, capture#2-of ?) in the type ArrayList<capture#2-of ?> is not applicable for the arguments (int).

我也尝试过这种方式,但给了我同样的错误

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

错误是:

The method add(int, capture#2-of ?) in the type ArrayList<capture#2-of ?> is not applicable for the arguments (int)

最佳答案

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

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

关于java - 如何将整数元素添加到泛型通配符的ArrayList中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852258/

24 4 0