Wie vergleichen generischen Knoten in einer verketteten Liste mit Vergleichbar?

Ich die Umsetzung eine sortierte Liste mit verknüpften Listen. Meine Knoten-Klasse sieht wie folgt aus

public class Node<E>{
    E elem;
    Node<E> next, previous;
}

In der sortierten Liste aus, Klasse, ich habe die add-Methode, wo ich zu vergleichen generische Objekte anhand Ihrer Implementierung der compareTo () - Methoden, aber dies bekomme ich syntax Fehler
"Die Methode compareTo(E) ist nicht definiert für den Typ E". Ich habe versucht implemnting der compareTo-Methode in Knoten, aber dann kann ich nicht aufrufen, Objekt-Methoden, weil es E ist generic Art.
Hier ist die nicht-fertige Körper von add(E elem) - Methode.

public void add(E elem) 
{

        Node<E> temp = new Node<E>();
        temp.elem = elem;

        if( isEmpty() ) {           
            temp.next = head;
            head.previous = temp;
            head = temp;
            counter++; 
        }else{
            for(Node<E> cur = head; cur.next != null ; cur= cur.next) {
                **if(temp.elem.comparTo(cur.elem)) {**
                    //do the sort;

                }/*else{
                    cur.previous = temp;
                }*/             
            }
            //else insert at the end

        }
}

Hier ist man von dem Objekt implemnting compareTo-Methode

public class Patient implements Comparable<Patient>{
    public int compareTo(Patient that)
    {
        return (this.getPriority() <= that.getPriority() ? 1 : 0 );
    }
}
Danke Jungs für die vergleichbaren Tipp. Jetzt, nachdem Sie diese änderungen vorgenommen haben, bekomme ich diesen Fehler "Bound mismatch: Der Typ E ist kein Gültiger Ersatz für die begrenzt den parameter <E extends Vergleichbar<E>> der Typ Knoten<E>" in dieser Zeile Knoten<E> temp = new Knoten<E>(); temp.elem = elem;

InformationsquelleAutor hash | 2011-06-15

Schreibe einen Kommentar