我遇到了一些 java 类型参数的问题。这是代码。我有一个 ListNode 类和一个实现 Comparator 接口的 MyComparator 类。
class ListNode {
int val;
ListNode next;
}
class MyComparator<ListNode> implements Comparator<ListNode> {
@Override
public int compare(ListNode n1, ListNode n2) {
if (n1.val < n2.val)
return -1;
else if(n1.val == n2.val)
return 0;
else
return 1;
}
}
但是编译器在 MyComparator 的声明行报告“类型参数 ListNode 隐藏了类型 ListNode”,并在 compare() 的覆盖实现中导致“val 无法解析”错误。我对这里的类型参数感到很困惑,有人可以给我一些提示吗?