K
Keinname
Gast
Hi,
ich habe folgenden doch recht simplen Code:
Zuerst wird tuwas() aufgerufen, dort wird ein Boolean-OBjekt erzeugt und der Methode set() übergeben. Da es sich bei b um ein Boolean-Objekt handelt und nicht um einen primitiven Datentypen, hätte ich erwartet dass nach dem Aufruf von set() der Wert von b innerhalb von tuwas() true geworden ist. Allerdings passiert genau das nicht, b ist dort immer noch false. Was läuft denn da schief? set() sollte doch nur die Objektreferenz bekommen und nicht mit einer Kopie des Boolean-Objektes arbeiten?
ich habe folgenden doch recht simplen Code:
Code:
void set(Boolean b)
{
b=true;
}
void tuwas()
{
Boolean b=new Boolean(false);
set(b);
//->!
}
Zuerst wird tuwas() aufgerufen, dort wird ein Boolean-OBjekt erzeugt und der Methode set() übergeben. Da es sich bei b um ein Boolean-Objekt handelt und nicht um einen primitiven Datentypen, hätte ich erwartet dass nach dem Aufruf von set() der Wert von b innerhalb von tuwas() true geworden ist. Allerdings passiert genau das nicht, b ist dort immer noch false. Was läuft denn da schief? set() sollte doch nur die Objektreferenz bekommen und nicht mit einer Kopie des Boolean-Objektes arbeiten?