gpt4 book ai didi

java - Java 列表的通用列表

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:46:54 26 4
gpt4 key购买 nike

我正在尝试在 Java 中创建一个通用函数,以找出 ArrayList 与 ArrayList 的 ArrayList 中的列表之间的最大相似度。

public static int maxSimilarity(ArrayList<?> g, 
ArrayList<ArrayList<?>> groups){

int maxSim = 0;
for(ArrayList<?> g2:groups){
int sim = similarity(g, (ArrayList<?>) g2);
if(sim > maxSim)
maxSim = sim;
}
return maxSim;
}

但是,当我尝试在我的主函数中调用它时,它显示一个不兼容的错误

ArrayList<ArrayList<Points>> cannot be converted to ArrayList<ArrayList<?>>

我不明白,我认为所有对象都可以用 ?符号。此外,它在我的相似函数中起作用,在两个 ArrayList 之间:

public static int similarity(ArrayList<?> g1, ArrayList<?> g2){
int total = 0;
for(Object o1:g1){
for(Object o2:g2){
if(o1.equals(o2))
total++;
}
}
return total;
}

最佳答案

声明一个通用值而不是通配符:

public <T> static int maxSimilarity(List<T> g, List<? extends List<T>> gs);

关于java - Java 列表的通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21856319/

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