Die Methode Arrays.copyOf() in Java ist eine Hilfsfunktion, die von der Klasse java.util.Arrays bereitgestellt wird. Sie wird verwendet, um ein neues Array zu erstellen, indem der angegebene Bereich von Elementen aus einem bestehenden Array kopiert wird. Diese Methode ist nützlich, um die Größe von Arrays zu ändern, Arrays teilweise zu kopieren und Backups von Arrays zu erstellen.
Verwendung
Arrays.copyOf() wird häufig verwendet, wenn du ein Array mit einer anderen Größe duplizieren musst oder wenn du nur einen Teil eines Arrays kopieren willst. Sie gibt ein neues Array zurück, das die kopierten Elemente enthält, und das ursprüngliche Array bleibt unverändert.
In diesem Beispiel wird Arrays.copyOf() verwendet, um eine exakte Kopie von originalArray zu erstellen. Das neue Array copiedArray enthält alle Elemente aus dem ursprünglichen Array.
Hier wird Arrays.copyOf() verwendet, um ein neues Array extendedArray mit einer Länge von 5 zu erstellen. Die zusätzlichen Elemente werden mit dem Standardwert von 0 für den Typ int initialisiert.
In diesem Beispiel erstellt Arrays.copyOf() ein neues Array truncatedArray mit nur den ersten beiden Elementen von originalArray.
Tipps und bewährte Praktiken
Unveränderliches Original: Das ursprüngliche Array wird von Arrays.copyOf() nicht verändert, um die Datenintegrität zu gewährleisten.
Standardwerte: Wenn die neue Array-Länge größer ist als die ursprüngliche, werden die neuen Elemente auf Standardwerte gesetzt (0, null, false, etc.).
Array-Typen: Arrays.copyOf() arbeitet mit allen Primitiv- und Objekttypen und ist damit vielseitig für verschiedene Datentypen einsetzbar.
Leistung: Achte beim Kopieren großer Arrays auf die Leistung, da dabei ein neues Array erstellt und Elemente kopiert werden müssen.
Shallow und Deep Copy verstehen
Arrays.copyOf() erzeugt eine oberflächliche Kopie, bei der Verweise auf die ursprünglichen Elemente kopiert werden und nicht die Objekte selbst. Das ist wichtig, wenn du mit komplexen Datenstrukturen wie 2D-Arrays oder Arrays von Objekten arbeitest, bei denen sich Änderungen an den Objekten im ursprünglichen Array im kopierten Array widerspiegeln können.
Ausnahmen
NegativeArraySizeException: Wird ausgelöst, wenn der Parameter newLength negativ ist.
NullPointerException: Wird ausgelöst, wenn das Array originalnull ist.
Die Methode
Arrays.copyOf()in Java ist eine Hilfsfunktion, die von der Klassejava.util.Arraysbereitgestellt wird. Sie wird verwendet, um ein neues Array zu erstellen, indem der angegebene Bereich von Elementen aus einem bestehenden Array kopiert wird. Diese Methode ist nützlich, um die Größe von Arrays zu ändern, Arrays teilweise zu kopieren und Backups von Arrays zu erstellen.Verwendung
Arrays.copyOf()wird häufig verwendet, wenn du ein Array mit einer anderen Größe duplizieren musst oder wenn du nur einen Teil eines Arrays kopieren willst. Sie gibt ein neues Array zurück, das die kopierten Elemente enthält, und das ursprüngliche Array bleibt unverändert.Syntax
original: Das Array, aus dem Elemente kopiert werden sollen.newLength: Die Länge des neuen Arrays. Wenn sie größer ist als die Länge des ursprünglichen Arrays, wird das neue Array mit Standardwerten aufgefüllt.Beispiele
Beispiel 1: Kopieren eines ganzen Arrays
In diesem Beispiel wird
Arrays.copyOf()verwendet, um eine exakte Kopie vonoriginalArrayzu erstellen. Das neue ArraycopiedArrayenthält alle Elemente aus dem ursprünglichen Array.Beispiel 2: Kopieren mit größerem Format
Hier wird
Arrays.copyOf()verwendet, um ein neues ArrayextendedArraymit einer Länge von 5 zu erstellen. Die zusätzlichen Elemente werden mit dem Standardwert von0für den Typintinitialisiert.Beispiel 3: Kopieren mit kleinerem Format
In diesem Beispiel erstellt
Arrays.copyOf()ein neues ArraytruncatedArraymit nur den ersten beiden Elementen vonoriginalArray.Tipps und bewährte Praktiken
Arrays.copyOf()nicht verändert, um die Datenintegrität zu gewährleisten.0,null,false, etc.).Arrays.copyOf()arbeitet mit allen Primitiv- und Objekttypen und ist damit vielseitig für verschiedene Datentypen einsetzbar.Shallow und Deep Copy verstehen
Arrays.copyOf()erzeugt eine oberflächliche Kopie, bei der Verweise auf die ursprünglichen Elemente kopiert werden und nicht die Objekte selbst. Das ist wichtig, wenn du mit komplexen Datenstrukturen wie 2D-Arrays oder Arrays von Objekten arbeitest, bei denen sich Änderungen an den Objekten im ursprünglichen Array im kopierten Array widerspiegeln können.Ausnahmen
NegativeArraySizeException: Wird ausgelöst, wenn der ParameternewLengthnegativ ist.NullPointerException: Wird ausgelöst, wenn das Arrayoriginalnullist.