作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 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/
我是一名优秀的程序员,十分优秀!