Der alte Schulweg war:
%Vor%Dies kopiert von einem vorhandenen Array zum anderen. Sie müssen das neue Array selbst zuweisen ... vorausgesetzt, Sie machen eine Kopie von ein Array.
Ab JDK 6 verfügt die Klasse java.util.Arrays
über eine Reihe von copyOf
-Methoden zum Erstellen von Kopien von Arrays mit einer neuen Größe. Die relevantesten sind:
und
%Vor%Dieser erste erstellt eine Kopie mit dem ursprünglichen Array-Typ und der zweite erstellt eine Kopie mit einem anderen Array-Typ.
Beachten Sie, dass sowohl Arraycopy als auch das 3-Argument copyOf die Typen jedes Elements im ursprünglichen (Quell-) Array gegen den Zielarraytyp überprüfen müssen. So können beide Typausnahmen auslösen. Das 2-Argument copyOf muss (zumindest theoretisch) keine Typprüfung durchführen und sollte daher (theoretisch) schneller sein. In der Praxis wird die relative Leistung implementationsabhängig sein. Zum Beispiel wird arraycopy
oft von der JVM speziell behandelt.
(wodurch Sie beliebige Teile eines Arrays über die Parameter offset
und length
kopieren können). Oder
Was in JDK 6 hinzugefügt wurde und ist eine generische Methode, so dass es verwendet werden kann:
%Vor%Oder es kann einen Typ einschränken:
%Vor% Beachten Sie, dass Sie auch die Methode clone
für ein Array verwenden können: