Die Bewertungsstrategie von Java ist nach Wert. Nicht als Referenz übergeben. Einige Leute missbrauchen es als "Referenzübergabe", um sich auf die Übergabe eines Referenzwerts zu beziehen. Es gibt verschiedene Leute, die darauf hinweisen, dass es missbraucht wird, Leute, die es verstehen und benutzen, Leute, die es nicht wirklich verstehen, und es scheint, dass sie schwelen, also habe ich die Informationen zusammengefasst.
Die Informatik hat das Konzept der Bewertungsstrategie. Sowohl Wertübergabe (Wertaufruf oder Wertübergabe) als auch Referenzübergabe (Referenzaufruf oder Referenzübergabe) sind eine der Bewertungsstrategien.
Für mehr Informationen:
Die Bewertungsstrategie von Java ist nach Wert. Wenn Sie Referenzwerte und Referenzen in Java übergeben, werden diese auch durch Übergabe von Werten ausgewertet.
Dies ist auch in der Java-Sprachspezifikation angegeben.
When the method or constructor is invoked, the values of the actual argument expressions initialize newly created parameter variables, each of the declared type, before execution of the body of the method or constructor.
Von http://docs.oracle.com/javase/specs/jls/se9/html/jls-8.html#jls-8.4.1 Meine Übersetzung:
Wenn eine Methode oder ein Konstruktor aufgerufen wird, wird ein neuer formaler Argumentwert für jeden deklarierten Typ mit dem ** Wert ** der tatsächlichen Argumentteildarstellung initialisiert, bevor der Hauptteil der Methode oder des Konstruktors ausgeführt wird.
Weitere Informationen finden Sie unter Java ist Pass-by-Value, verdammt! von Scott Stanchfield.
Wenn Sie eine Auswertungsstrategie in Betracht ziehen, sollten Sie im Allgemeinen darüber nachdenken, wie der Aufruf ausgewertet wird, wenn ein Programm, das eine Funktion, eine Methode, ein Unterprogramm usw. aufruft, in das Programmiersprachenverarbeitungssystem eingegeben wird. Die richtige Art, über Strategie nachzudenken.
Denken Sie nicht an das Verhalten, wenn Sie tatsächlich ein Programm oder eine Binärdatei ausführen. Das Verhalten des Programms ändert sich je nach Ausführungsumgebung der Programmiersprache vollständig. Beispielsweise ist das tatsächliche Verhalten völlig unterschiedlich, je nachdem, ob die Ausführungsumgebung des Programms ein Compiler ist, wie viel Optimierung durchgeführt wird, ob es sich um einen Interpreter handelt oder ob ein Mensch mit einer Tafel und einer Kreide "ausführt". Denken Sie bei der Bewertung einer Programmiersprache nicht daran, was die CPU tatsächlich tut, wie der Speicher ist, wie die Adresse lautet und so weiter.
Das Übergeben einer Referenz in Java wird als "Übergeben als Referenz" bezeichnet und sollte sofort gestoppt werden. Wie Sie anhand der Suche nach Java anhand der Referenz sehen können, gibt es einige Artikel, die eindeutig missverstanden werden. Es muss das Zehn- oder Hundertfache dieser Zahl geben, einige, die missverstanden und nicht beobachtet werden, und einige, die durch Missbrauch in Mitleidenschaft gezogen werden und ihr Verständnis behindern. Wenn Sie nicht aufhören, verlieren Sie die Branche.
Recommended Posts