F
Firephoenix
Gast
Hi,
ich habe im Rahmen eines praktikums für die Uni eine Methode geschrieben, die Rekursiv zwei vorgegebene Baumstrukturen auf gleichheit prüft.
Dazu wurde die equals() überschrieben (nach Vorgaben) und eine 2. Rekursive Funktion implementiert, die 2 Bäume auf gleichheit prüft.
Interessanterweise schlägt ein JUnit-assertFalse() fehl, mit der Meldung, dass die Methode null zurückliefert.
Die Methode die allerdings in diesem Test aufgerufen wird ist eine .equals() mit boolean als Rückgabesignatur. Die equals ruft eine treesEquals(Tree,Tree) auf die ebenfalls boolean als rückgabewert hat und in JEDEM return-statement entweder sich selbst oder einen boolean als Rückgabewert hat.
Beim Debuggen kam es zu dem Fall, dass mein Debugger an einer Stelle bei der die Methode sich rekursiv zurückgibt, dass der Debugger nicht mehr in die Methode springt (ja, ich habe die richtige taste gedrückt...) sondern diesen aufruf offenbar direkt als null interpretiert (syntaxfehler an der stelle kann ich ausschließen, die stelle im code wird vorher mehrfach korrekt abgearbeitet).
Gibt es eine Möglichkeit dieses Verhalten zu erklären - kann ein eclipse debugger einen Methodenaufruf direkt als null auswerten?
Bei Bedarf kann ich auch gerne den Benötigten Quellcode zusammenstellen, dies wird aber etwas dauern, da die Klassen Recht umfangreich sind.
Danke im Vorraus für Antworten, bin gerade mit meinem latein am Ende
Gruß Firephoenix
ich habe im Rahmen eines praktikums für die Uni eine Methode geschrieben, die Rekursiv zwei vorgegebene Baumstrukturen auf gleichheit prüft.
Dazu wurde die equals() überschrieben (nach Vorgaben) und eine 2. Rekursive Funktion implementiert, die 2 Bäume auf gleichheit prüft.
Interessanterweise schlägt ein JUnit-assertFalse() fehl, mit der Meldung, dass die Methode null zurückliefert.
Die Methode die allerdings in diesem Test aufgerufen wird ist eine .equals() mit boolean als Rückgabesignatur. Die equals ruft eine treesEquals(Tree,Tree) auf die ebenfalls boolean als rückgabewert hat und in JEDEM return-statement entweder sich selbst oder einen boolean als Rückgabewert hat.
Beim Debuggen kam es zu dem Fall, dass mein Debugger an einer Stelle bei der die Methode sich rekursiv zurückgibt, dass der Debugger nicht mehr in die Methode springt (ja, ich habe die richtige taste gedrückt...) sondern diesen aufruf offenbar direkt als null interpretiert (syntaxfehler an der stelle kann ich ausschließen, die stelle im code wird vorher mehrfach korrekt abgearbeitet).
Gibt es eine Möglichkeit dieses Verhalten zu erklären - kann ein eclipse debugger einen Methodenaufruf direkt als null auswerten?
Bei Bedarf kann ich auch gerne den Benötigten Quellcode zusammenstellen, dies wird aber etwas dauern, da die Klassen Recht umfangreich sind.
Danke im Vorraus für Antworten, bin gerade mit meinem latein am Ende
Gruß Firephoenix