Lorsqu'un tableau est vraiment copié sur un autre, si la longueur du nouveau tableau est plus courte que la longueur du tableau d'origine, le nouveau tableau est une copie mais tronqué à la longueur copiée. Si le nouveau tableau est plus long, les éléments supplémentaires vers sa fin sont remplis des valeurs par défaut du type de données. Pour qu'un tableau soit copié sur un autre, les deux tableaux doivent être du même type ou des types compatibles.
Java a une méthode pour copier un tableau vers un autre. Cette méthode est la méthode CopyOf (), et elle est surchargée pour les différents types de données. C'est une méthode statique de la classe de tableau. «Statique» signifie qu'un tableau ne doit pas être instancié pour que la méthode soit utilisée. Il utilise le nom de classe, Array, avec le premier «A» en majuscule. La méthode renvoie le tableau copié. Cet article explique les différentes formes surchargées de la méthode CopyOf (). Il comprend comment copier les types de référence. Comment copier une plage de tableau n'est pas laissé de côté.
Copie d'un tableau de valeurs booléennes
La syntaxe est:
Static booléen [] copie (booléen [] original, int newlength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, false est rembourré en valeurs vers le nouveau tableau pour avoir la nouvelle longueur. Le programme suivant illustre ceci:
Importer Java.user.Tableaux;La sortie est:
vrai vrai vraiPour la première ligne de sortie, il y a une troncature. Pour la deuxième ligne de sortie, les deux tableaux sont les mêmes. Le nouveau tableau est plus long que le tableau d'origine pour la troisième ligne de sortie.
La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().
Copie d'un tableau de valeurs d'octets
La syntaxe est:
octet statique [] copie (octet [] original, int newLength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Le code de méthode main () suivant illustre ceci:
octet statique [] copie (octet [] original, int newLength)La sortie est:
1 2 3La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().
Copie d'un tableau de valeurs de charbon
La syntaxe est:
Static char [] copie (char [] original, int newLength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, "est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:
public static void main (String [] args)La sortie est:
A B CLa longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().
Copie d'un tableau de doubles valeurs
La syntaxe est:
Copie statique double [] (double [] original, int newLength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. Si c'est plus long, 0.0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:
public static void main (String [] args)La sortie est:
1.5 2.5 3.5La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().
Copie d'un tableau de valeurs flottantes
La syntaxe est:
float statique [] copie (float [] original, int newLength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. Si c'est plus long, 0.0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:
public static void main (String [] args)La sortie est:
1.5 2.5 3.5La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().
Copie d'un tableau de valeurs int
La syntaxe est:
statique int [] copie (int [] original, int newLength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:
public static void main (String [] args)La sortie est:
1 2 3La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().
Copie d'un tableau de longues valeurs
La syntaxe est:
Static long [] copie (long [] original, int newLength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:
public static void main (String [] args)La sortie est:
1 2 3La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().
Copie d'un tableau de valeurs courtes
La syntaxe est:
STATIQUE COPIE STATIQUE [] (Short [] Original, int NewLength)L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:
public static void main (String [] args)La sortie est:
1 2 3Copie d'un éventail de types de données de référence
Un bon exemple du type de données de référence est l'objet String, instancié à partir de la classe de chaîne. Sa syntaxe Copyof () est la même que les syntaxes ci-dessus. Le code suivant illustre ceci:
Importer Java.user.Tableaux;La sortie est:
un, deux, troisLa valeur par défaut du type de données de référence est nul.
Copie d'une gamme
La gamme d'un tableau peut être copiée. La syntaxe pour copier la plage d'un tableau de caractères est:
statique char [] copieofrange (char [] original, int from, int to)«From» est le premier index, et «to» est le dernier index, dont la valeur de la plage, n'est tout simplement pas incluse, dans la copie. Exemple de code:
public static void main (String [] args)La sortie est:
AVANT JCLa copie des gammes de types de données primitives et de référence est similaire à ce code.
Conclusion
La classe de tableau a la méthode surchargée statique pour copier les tableaux. Il est utilisé pour copier tout le tableau. Si le tableau copié est court, la copie sera faite sur la longueur tronquée indiquée. Si le tableau copié est plus long que le tableau d'origine, la valeur par défaut sera rembourrée pour les éléments supplémentaires supplémentaires. La méthode statique CopyOfRange () peut être utilisée pour copier une plage. La prochaine chose que le lecteur devrait étudier est de savoir comment copier un tableau de types génériques, .