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 を解決できません」というエラーにつながります。ここで型パラメータについてかなり混乱しています。誰かヒントを教えてください。