H
Housechen
Gast
Hi!
Mir ist heute im Unterricht etwas merkwürdiges aufgefallen, daher kurze Frage an euch.
Hatte ´ne Klasse "GUI", geerbt von Frame mit dem Object "result".
Wollte eine "sichere Methode" beim dequeuen benutzen, die mir anzeigt, ob die Warteschlange nicht doch leer ist, wurde von den TryParse-Methoden aus .net "inspiriert".
In der Klasse "Warteschlange" daher dieses Gerüst:
So brachte mir das übergebene Objekt bzw. der Zeiger von "result" immer null als Wert heraus, wenn ich aber bei return true" einen Breakpoint gesetzt habe, zeigte er mir beim result in der Methode "eintrag" an, result in der GUI blieb allerdings auf null.
Folgendes funktioniert aber:
result war in beiden Fällen ein String.
Woran liegt das?
Es interessiert mich einfach wie Sau seit dieser Stunde und ich will´s einfach unbedingt wissen.
Meine Vermutung: String wird hier, obwohl es eigentlich ein Objekt ist, wie eine Variable alla int usw., bei denen nur der Wert weitergegeben wird und nicht die Adresse, behandelt.
Wenn ja bzw. allgemein: Wie könnte ich dies umgehen?
Vielen Dank im Voraus!
Mir ist heute im Unterricht etwas merkwürdiges aufgefallen, daher kurze Frage an euch.
Hatte ´ne Klasse "GUI", geerbt von Frame mit dem Object "result".
Wollte eine "sichere Methode" beim dequeuen benutzen, die mir anzeigt, ob die Warteschlange nicht doch leer ist, wurde von den TryParse-Methoden aus .net "inspiriert".
In der Klasse "Warteschlange" daher dieses Gerüst:
Code:
public boolean advanceddequeue (Object result)
{
if(leer())
{
return false;
}else{
result=eintrag;
return true;
}
}
So brachte mir das übergebene Objekt bzw. der Zeiger von "result" immer null als Wert heraus, wenn ich aber bei return true" einen Breakpoint gesetzt habe, zeigte er mir beim result in der Methode "eintrag" an, result in der GUI blieb allerdings auf null.
Folgendes funktioniert aber:
Code:
public boolean advanceddequeue (GUI gui)
{
if(leer())
{
return false;
}else{
gui.result=eintrag;
return true;
}
}
result war in beiden Fällen ein String.
Woran liegt das?
Es interessiert mich einfach wie Sau seit dieser Stunde und ich will´s einfach unbedingt wissen.
Meine Vermutung: String wird hier, obwohl es eigentlich ein Objekt ist, wie eine Variable alla int usw., bei denen nur der Wert weitergegeben wird und nicht die Adresse, behandelt.
Wenn ja bzw. allgemein: Wie könnte ich dies umgehen?
Vielen Dank im Voraus!