Custom LinkedList class hasNext Methode

06/07/2015 02:03 Jonni8#1
Hey leute.

Ich bin grad dabei eine eigene LinkedList Klasse zu schreiben.
Jetzt hat so ein LinkedList Objekt je 2 Variablen. Den Namen und ein weiteres LinkedList objekt. Ich möchte mit einer Funktion prüfen können ob ein LinkedList Objekt noch weitere Elemente besitzt oder ob ein Element das letzte ist. Leider stoße ich dabei auf das Problem, dass meine hasNext() Methode immer true ausgibt und als ich versucht habe das auf andere Weise zu prüfen bekam ich einen NullPointerExceptionError.

Hier der relevante Code dafür:

Code:
public class MyLinkedList
{
    private String name;
    private MyLinkedList next;
    
    public MyLinkedList( String name )
    {
        this.name = name;
    }
    
    public MyLinkedList( )
    {
        this( "" );
    }
    public MyLinkedList getNext()
    {
        return next;
    }
    private boolean hasNext()
    {
        System.out.println("loop"); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMMER TRUE?...
        System.out.println(this.getNext() != null);
        return this.getNext() != null;
    }
}
Die prints sind nur aus Testzwecken drin.
Habt ihr vielleicht eine Idee wie man das anders testen kann?

Gruß
06/07/2015 02:52 algernong#2
Code:
public class MyLinkedList
{

    public static void main(String[] args) {
        MyLinkedList mll = new MyLinkedList();
        System.out.println(mll.hasNext());
    }

    private String name;
    private MyLinkedList next;
    
    public MyLinkedList( String name )
    {
        this.name = name;
    }
    
    public MyLinkedList( )
    {
        this( "" );
    }
    public MyLinkedList getNext()
    {
        return next;
    }
    private boolean hasNext()
    {
        System.out.println("loop"); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMMER TRUE?...
        System.out.println(this.getNext() != null);
        return this.getNext() != null;
    }
}
Gibt bei mir false aus.
06/07/2015 12:26 Jonni8#3
Jo, danke ich hab das jetzt nochmal ausprobiert und das Problem tritt tatsächlich erst auf wenn ich einige Elemente hinzufüge. Muss mir das wohl nochmal angucken :D