gpt4 book ai didi

java - 泛型和比较器

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:37 26 4
gpt4 key购买 nike

我正在研究泛型,发现以下代码在比较方法 处出现编译时错误。

Multiple markers at this line - Cannot infer type argument(s) for comparing(Function) - The type A does not define m1(Object) that is applicable here

 class A<T> {
String m1() {
return null;
}
}

class B {
void test() {
Comparator<A<String>> target = Comparator.comparing(A::m1).thenComparing(A::m1);
}
}

有人可以帮助我理解这种行为吗?我该如何解决这个问题?

最佳答案

如果您在 comparing 方法中指定确切的泛型类型,代码将编译。

Comparator<A<String>> target =
Comparator.<A<String>, String>comparing(A::m1).thenComparing(A::m1);

关于java - 泛型和比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44625657/

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