Ist es möglich, das Standardverhalten meines Java-Projekts (oder einer Teilmenge davon) zu setzen, um Kopien meiner Objekte zu erstellen, wenn ich sie in Methoden oder Funktionen übergebe?Für Pass-By-Value-Verhalten in Java-Funktionsaufrufen auswählen
Der Grund für dieses Verhalten ist, dass ich eine Reihe von Tests schreibe, die überprüfen, dass zwei Funktionen die gleiche Rendite produzieren. Wenn ich ObjectA
übergebe (wo eine Eigenschaftszählung auf 3 initialisiert wird), um decrementCount()
zu funktionieren, als wenn es das Objekt zurückgibt, sehe ich (ObjectA.count -> 2)
, während nach dem Aufruf der zweiten Funktion das Objekt jetzt (ObjectA.count -> 1)
ist.
Ich möchte Pass-by-Value lieber als Pass-by-Referenz erreichen.
http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value?rq=1 – rkosegi
Sie können Objekte https://github.com tiefkopieren/kostaskougios/cloning – rkosegi