Heim >Java >javaLernprogramm >Wird Javas Array als Wert oder als Referenz übergeben?
Wert- und Referenzübergabe in Java verstehen: Eine Fallstudie von Arrays
In Java ist das Konzept der Übergabe als Wert oder als Referenz ein entscheidendes Thema. Verschiedene Datentypen verhalten sich bei diesem Vorgang unterschiedlich. Während Primitive als Wert übergeben werden, stellen Arrays, die nicht primitiv, aber keine Objekte sind, eine einzigartige Situation dar.
Werden Arrays als Wert oder als Referenz übergeben?
Im Wesentlichen wird in Java alles als Wert übergeben. Da Arrays Objekte sind, folgen sie diesem Konzept und der Verweis auf das Array wird als Wert übergeben. Ähnlich wie bei der Übergabe von Objektreferenzen ist die Array-Referenz eine Kopie.
Auswirkungen der Wertübergabe für Arrays
Diese Wertübergabe hat spezifische Auswirkungen:
Beispieldemonstration
Bedenken Sie den folgenden Java-Code:
public static void changeContent(int[] arr) { // If we change the contnet of arr. arr[0] = 10; // Will change the content of array in main() } public static void changeRef(int[] arr) { // If we change the reference arr = new int[2]; // Will not change the array in main() arr[0] = 15; } public static void main(String[] args) { int[] arr = new int[2]; arr[0] = 4; arr[1] = 5; changeContent(arr); System.out.println(arr[0]); // Will print 10.. changeRef(arr); System.out.println(arr[0]); // Will still print 10.. // Change the reference doesn't reflect change here.. }
Dieser Code demonstriert das Werteübergabeverhalten von Arrays. Durch Ändern des Array-Inhalts mit „changeContent“ wird das ursprüngliche Array geändert. Durch die Zuweisung eines neuen Arrays in „changeRef“ wird die ursprüngliche Referenz jedoch nicht aktualisiert. Dadurch bleibt der arr[0]-Wert auch nach der Referenzänderung 10.
Das obige ist der detaillierte Inhalt vonWird Javas Array als Wert oder als Referenz übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!