gpt4 book ai didi

java - 如何将泛型集合传递给方法

转载 作者:行者123 更新时间:2023-12-01 15:47:55 25 4
gpt4 key购买 nike

如何将对象的通用集合传递给我的方法,详细信息如下:

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/

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