Heim >Java >javaLernprogramm >Wie kann ich Pass-by-Reference-Verhalten für Grundelemente in Java erreichen?
Java Pass-by-Value and Reference
Im bereitgestellten Java-Code wird die Variable „toyNumber“ als Wert an play() übergeben. Verfahren. Dies bedeutet, dass innerhalb der Methode eine Kopie der Variablen erstellt wird und alle innerhalb der Methode vorgenommenen Änderungen nicht in der Originalvariablen widergespiegelt werden. Dies führt dazu, dass die Ausgabe zeigt, dass die „toyNumber“ in „main()“ unverändert bleibt, nachdem sie innerhalb der Methode „play()“ geändert wurde.
Um das Äquivalent der Referenzübergabe für Grundelemente in Java zu erreichen, können Sie Folgendes in Betracht ziehen die folgenden Optionen:
Übergeben Sie einen Verweis auf ein Objekt
Erstellen Sie eine Klasse, um die primitive Variable als Mitgliedsvariable zu kapseln. Übergeben Sie eine Instanz dieser Klasse an die Methode und übergeben Sie so effektiv einen Verweis auf die primitive Variable.
Gibt den geänderten Wert zurück
Ändern Sie die Methode play(), um den geänderten Wert von zurückzugeben Spielzeugnummer. Dazu muss der Aufruf in main() aktualisiert werden, um den zurückgegebenen Wert der ursprünglichen Variablen zuzuweisen.
Klasse oder statische Variable
Wenn die beiden Funktionen innerhalb derselben Klasse oder Klasse definiert sind Beispielsweise können Sie „toyNumber“ als Klasse oder statische Variable definieren. Dies macht es für beide Funktionen zugänglich und stellt sicher, dass alle vorgenommenen Änderungen in der Originalvariablen widergespiegelt werden.
Einzelelement-Array
Übergeben Sie ein Einzelelement-Array, das die primitive Variable enthält. Dies gilt als Hack, kann aber verwendet werden, um ein Pass-by-Reference-ähnliches Verhalten zu erreichen.
Durch die Übernahme dieser Techniken können Sie das Pass-by-Reference-Verhalten für primitive Typen in Java effektiv emulieren und so dies ermöglichen Ändern Sie die ursprünglichen Variablen, auch wenn sie als Argumente an Methoden übergeben werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Pass-by-Reference-Verhalten für Grundelemente in Java erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!