0

ジェネリックノードタイプEにcompareToメソッドを使用しようとしています。

私はすでにEをComparableにバインドしています

public class LinkedList<E extends Comparable<E>> {

    //  ----------------------------------------------------------
    //  Implementing the doubly linked nodes (static nested class)
    //  ----------------------------------------------------------

    private static class Node<E extends Comparable<E>> {

このメソッドisSortedはLinkedListクラス内に実装され、NodeクラスはLinkedlistクラス内にあります。

「メソッドcompareTo(LinkedList.Node)はタイプLinkedList.Nodeに対して未定義です」というコンパイルエラーが発生し続けます

EがComparableを拡張していない場合にのみポップアップすると思いますが、私の場合はそうです。何か助けはありますか?

 public boolean isSorted( ){

        if(!isEmpty()){

        Node<E> temp = head;
        boolean local = true;
        int x=0;
        while (temp.next != null){
          x=temp.compareTo(temp.next);
          if(x<0){
            temp = temp.next;}
          else {return local;}

        }
        return local;}
        else{ throw new IllegalArgumentException();}
      }

私はすでにこのスレッドをチェックしました、Comparableを使用してリンクリスト内のジェネリックノードを比較する方法は?

それは役に立たなかった。

前もって感謝します

Mjall2

4

1 に答える 1

2

であるのはノード内の値のみである場合、ノードを比較しようとしていますComparable。の代わりにtemp.compareTo(temp.next)、おそらく。のようなものが必要ですtemp.value.compareTo(temp.next.value)

于 2012-04-10T00:48:13.097 に答える