0

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

4

1 に答える 1

3

使用する

class MyComparator implements Comparator<ListNode> {

それ以外の

class MyComparator<ListNode> implements Comparator<ListNode> {
于 2013-04-20T11:09:06.067 に答える