2012-04-10 6 views
0

ich die Methode compareTo für eine generische Knotentyp E. versuchenWie Sie einen Übersetzungsfehler, wenn Schnittstelle implementieren vergleichbaren

zu verwenden habe ich bereits E Vergleichbares

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

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

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

Diese Methode IsSorted implementiert gebunden innerhalb die Klasse LinkedList befindet sich die Node-Klasse innerhalb der Klasse Linkedlist.

Ich erhalte einen Kompilierungsfehler „Die Methode compareTo (LinkedList.Node) für den Typ LinkedList.Node undefined“

Ich glaube, dass nur erscheint, wenn E nicht vergleichbar ist, die sich, es in meinem Fall ist . Irgendwelche Hilfe?

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();} 
     } 

ich diesen Thread bereits überprüft, How to compare generic nodes in a linked list using Comparable?

Es hat nicht geholfen.

Vielen Dank im Voraus

Mjall2

Antwort

2

Sie versuchen, die Knoten, wenn es nur die Werte in den Knoten zu vergleichen, die Comparable sind. Anstelle von temp.compareTo(temp.next) möchten Sie wahrscheinlich etwas wie temp.value.compareTo(temp.next.value).

+0

Wie dickköpfig fühle ich mich ... – Mjall2

Verwandte Themen