2016-04-17 7 views
-1

angewendet werden. Ich erhalte einen Fehler, der besagt CompareTo in Comparable kann nicht auf meine Klasse angewendet werden.CompareTo in Comparable kann nicht auf Klasse

In meiner ersten Klasse habe ich die folgende Methode:

Public <AnyType extends Comparable<? super AnyType>> void add(AnyType element){ 
    ListNode itr = header; 

    while(itr.next != null && element.compareTo(itr.next) > 0){ 

    } 
} 

Der Fehler in der itr.next ist.

Und die ListNode Klasse:

class ListNode <AnyType extends Comparable<? super AnyType>> 
{ 
     // Constructors 
    public ListNode(AnyType theElement) 
    { 
     this(theElement, null); 
    } 

    public ListNode(AnyType theElement, ListNode n) 
    { 
     element = theElement; 
     next = n; 
    } 

    public AnyType element; 
    public ListNode next; 
} 
+0

Was ist der vollständige Fehler wollen? – SLaks

+0

Sie deklarieren zwei verschiedene 'AnyType'-Parameter. Tu das nicht. – SLaks

+2

'ListNode itr' /' ListNode next'/etc. sind [Rohtypen] (http://stackoverflow.com/q/2770321/2891664). Sie sollten 'ListNode ' sein. – Radiodef

Antwort

0

Es sieht aus wie Sie

element.compareTo(itr.next.element) 

nicht Nachricht

element.compareTo(itr.next)