gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 07:50:23 25 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/38828101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com