Heim > Java > javaLernprogramm > Wie implementiert man eine flache Kopie mit Javas Arrays.copyOf?

Wie implementiert man eine flache Kopie mit Javas Arrays.copyOf?

WBOY
Freigeben: 2023-04-24 19:31:06
nach vorne
815 Leute haben es durchsucht

1. Anweisungen zum flachen Kopieren

Kopieren Sie alle Attribute der Mitgliedsvariablen im Prototypobjekt, die Werttypen sind, in das geklonte Objekt und kopieren Sie die Referenzadressen der Mitgliedsvariablen im Prototypobjekt, die Referenztypen sind geklontes Objekt, das heißt, im Prototypobjekt Wenn eine Mitgliedsvariable ein Referenzobjekt ist, wird die Adresse dieses Referenzobjekts mit dem Prototypobjekt und dem geklonten Objekt geteilt. Einfach ausgedrückt kopiert eine flache Kopie nur das Prototypobjekt, nicht jedoch das Objekt, auf das es verweist.

2.Arrays.copyOf() copy

besteht darin, ein neues Array zu erstellen (dh einen neuen Speicherplatz zuzuweisen), dann System.arraycopy() aufzurufen, um den Inhalt zu kopieren und ihn dem neuen Array zuzuweisen. und dann das neue Array zurückgeben.

3. Beispiel

public static byte[] copyOfRange(byte[] original, int from, int to) {
    int newLength = to - from;
    if (newLength < 0)
        throw new IllegalArgumentException(from + " > " + to);
    byte[] copy = new byte[newLength];
    System.arraycopy(original, from, copy, 0,Math.min(original.length - from, newLength));
    return copy;
}
Nach dem Login kopieren

Eigentlich ruft es System.arraycopy auf, also muss es eine flache Kopie sein.

Das obige ist der detaillierte Inhalt vonWie implementiert man eine flache Kopie mit Javas Arrays.copyOf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage