Hallo,
ich habe ein Frage zu folgender Methode:
Sie gehört zu einer Liste, deren Knoten aus zwei Referenzvariablen "left" und "right" und einem String "val" aufgebaut sind.
Meine Frage ist nun die folgende:
Wenn ich nun an einem Punkt angekommen bin, bei dem "left == null" und "right == null", dann gibt ja die Methode den String kp an die zuvor aufgerufene Methode zurück und steigt (vorausgesetzt, dass die Methode zuvor durch "left!=null" aufgerufen wurde) in der Zeile "return left.toString()+" "; " wieder ein.
Meine Frage ist nun, warum der zurückgegebene String nicht verloren geht? was passiert hier, dass ich die Rückgabe weiter verwenden kann.
So wie ich das sehe, wird die Rückgabe in dem String kp gespeichert, aber das taucht nirgends in dem Code auf? Warum funktioniert also die Zeile kp=kp+val;?
kp ist doch nirgends verändert worden?!
Ich hoffe man versteht mich,
Gruß kummel
ich habe ein Frage zu folgender Methode:
Java:
public String toString(){
String kp="";
if(left != null){
return left.toString() +" ";}
kp=kp+val;
if(right != null){
return kp+" "+ right.toString();
}
return kp;
}
Sie gehört zu einer Liste, deren Knoten aus zwei Referenzvariablen "left" und "right" und einem String "val" aufgebaut sind.
Meine Frage ist nun die folgende:
Wenn ich nun an einem Punkt angekommen bin, bei dem "left == null" und "right == null", dann gibt ja die Methode den String kp an die zuvor aufgerufene Methode zurück und steigt (vorausgesetzt, dass die Methode zuvor durch "left!=null" aufgerufen wurde) in der Zeile "return left.toString()+" "; " wieder ein.
Meine Frage ist nun, warum der zurückgegebene String nicht verloren geht? was passiert hier, dass ich die Rückgabe weiter verwenden kann.
So wie ich das sehe, wird die Rückgabe in dem String kp gespeichert, aber das taucht nirgends in dem Code auf? Warum funktioniert also die Zeile kp=kp+val;?
kp ist doch nirgends verändert worden?!
Ich hoffe man versteht mich,
Gruß kummel