Maison >Java >javaDidacticiel >Comment implémenter une copie superficielle à l'aide de Arrays.copyOf de Java ?
1. Instructions de copie superficielle
Copiez tous les attributs des variables membres de l'objet prototype qui sont des types de valeur dans l'objet cloné et copiez les adresses de référence des variables membres de l'objet prototype qui sont des types de référence dans le objet cloné, c'est-à-dire dans l'objet prototype. Si une variable membre est un objet de référence, l'adresse de cet objet de référence est partagée avec l'objet prototype et l'objet cloné. En termes simples, une copie superficielle copiera uniquement l'objet prototype, mais pas l'objet auquel il fait référence.
2.Arrays.copyOf() copy
consiste à créer un nouveau tableau (c'est-à-dire à allouer un nouvel espace mémoire), puis à appeler System.arraycopy() pour copier le contenu, à l'attribuer au nouveau tableau, puis renvoyez le nouveau tableau.
3. Exemple
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; }
En fait, il appelle System.arraycopy, il doit donc s'agir d'une copie superficielle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!