Michael Bieri: Frage/Hinweis: Call by Value bei Objekten

Beitrag lesen

Hallo Leute

ich hatte heute ein sehr komisches Problem erlebt:

MyObject a = new MyObject();
MyObject b = new MyObject();

b.setValue(5);

a=b;

a.setValue(3);

System.out.print(b.getValue);

Quizfrage: Was gibt dieses Programm aus?

Nicht etwa 5, wie man meinen könnte sondern 3! Weil Objekte bei Objekten ja nicht das Objekt "an sich" übergeben wird, sondern nur eine Referenz darauf!
Einerseits möchte ich alle, die dieses Problem noch nicht gehabt haben, darauf hinweisen, es hat mir heute den ganzen Tag gekostet und ich habe es auch nur zufällig entdeckt...
Nun meine Frage: Wie kann ich denn ein Objekt explizit "by Value" übergeben?

Gruss

Michael