gpt4 book ai didi

java - 如何在 Java 中创建一个泛型方法,其中参数化类型之一必须实现 Iterable?

转载 作者:行者123 更新时间:2023-12-01 06:41:52 25 4
gpt4 key购买 nike

这是我正在尝试编写的方法(现在无法编译,因为 what 不被视为 Iterable ):

public <T,V> ArrayList<V> mySelect(T what,ITest<V> x) {
ArrayList<V> results = new ArrayList<V>();
for(V value : what) {
if(x.accept(value)) {
results.add(value);
}
}
return results;
}

T 类型实现 Iterable ,并在使用 foreach 时返回 V 对象。问题是我不知道怎么写。你能帮忙吗?

最佳答案

public <T extends Iterable<V>,V> ArrayList<V> mySelect(T what, ITest<V> x) {

背后的逻辑:TIterable 的任何子类(在本例中为实现类),并且Iterable 被定义为在 V

上迭代

我建议阅读 araqnid 的建议,因为它向您展示了如何使代码更清晰。

关于java - 如何在 Java 中创建一个泛型方法,其中参数化类型之一必须实现 Iterable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930432/

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