作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将对象的通用集合传递给我的方法,详细信息如下:
class Test {
class X<T> {
}
class XI extends X<Integer> {
}
class XD extends X<Double> {
}
class S {
Collection<X<?>> items;
public void addX(Iterable<X<?>> x) {
// Error: The method addAll(Collection<? extends Test.X<?>>)
// in the type Collection<Test.X<?>>
// is not applicable for the arguments (Iterable<Test.X<?>>)
items.addAll(x);
}
}
void fooo() {
X<?>[] x = new X<?>[] {new XI(), new XD()};
S s = new S();
// The method addX(Iterable<Test.X<?>>)
// in the type Test.S is not applicable for the arguments (Test.X<?>[])
s.addX(x);
}
}
谢谢
最佳答案
Collection.addAll
需要一个 Collection
但你向它传递了一个 Iterable
...
您可以使用 Arrays class 将数组转换为列表(这是一个集合) :
Arrays.asList(myArray);
关于java - 如何将泛型集合传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762214/
我是一名优秀的程序员,十分优秀!