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.
Geänderten Wert zurückgeben
Ändern Sie die Methode play(), um den geänderten Wert von zurückzugeben Spielzeugnummer. Dies erfordert eine Aktualisierung des Aufrufs in main(), 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 ursprünglichen Variablen 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 Ändern Sie die ursprünglichen Variablen, auch wenn sie als Argumente an Methoden übergeben werden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3