Le rôle de la nouvelle chaîne [0] dans collection.toArray (nouvelle chaîne [0])

Le rôle de la nouvelle chaîne [0]

比如 : String [] result = set.toArray (new String [0]);

 

Parmi les méthodes publiques de Collection, toArray () est la plus importante.
Mais l'utilisation de toArray () sans paramètre a un inconvénient, c'est-à-dire que le type de tableau converti est Object []. Bien que le tableau Object ne soit pas inutilisable, mais lorsque vous voulez vraiment utiliser un type spécifique de tableau, tel que String [], le problème survient. Et l'Object [] à convertir en String [] est toujours très gênant, il faut utiliser ceci:

String [] = stringArray Arrays.copyOf (ObjectArray, objectArray.length, String [] class.);

Indépendamment de quel côté ou It est préférable de créer String [] depuis le début.

Que devrais-je faire? Son toArray pratique avec des paramètres est très bien. L'exemple officiel est donné comme ceci:
String [] a = c.toArray (new String [0]);

Si le tableau spécifié peut contenir la collection, un tableau contenant les éléments de la collection est renvoyé. Sinon, un nouveau tableau sera alloué en fonction du type d'exécution du tableau spécifié et de la taille de cette collection. La longueur du tableau du paramètre donné ici est 0, donc un tableau contenant tous les éléments de cette collection sera retourné, et le type du tableau retourné est le même que le type d'exécution du tableau spécifié.


Comme la méthode toArray, cette méthode agit comme un pont entre l'API basée sur un tableau et l'API basée sur une collection. En outre, cette méthode permet un contrôle précis sur le type d'exécution du tableau de sortie et, dans certains cas, peut être utilisée pour économiser la surcharge d'allocation.

Supposons que l est une liste connue contenant uniquement des chaînes. Le code suivant est utilisé pour vider la liste dans un tableau String nouvellement alloué: 

     String [] x = (String []) v.toArray (new String [0]);
 Notez que toArray (new Object [0]) et toArray ( ) est la même en fonction. 

Paramètres:
a-le tableau pour stocker les éléments de cette collection (s'il est suffisamment grand); sinon, un nouveau tableau du même type d'exécution sera alloué pour cela.

 

 

Opérations de matrice d'interface de collection

 

Les  toArray méthodes sont fournies comme un pont entre les collections et les API plus anciennes qui attendent des tableaux en entrée. Les opérations sur les tableaux permettent de Collection traduire le contenu de a  en tableau. Le formulaire simple sans arguments crée un nouveau tableau de  Object. La forme la plus complexe permet à l'appelant de fournir un tableau ou de choisir le type d'exécution du tableau de sortie.

Par exemple, supposons que ce c soit un  fichier  Collection. L'extrait de code suivant vide le contenu de  c dans un tableau nouvellement alloué  Object dont la longueur est identique au nombre d'éléments dans  c.

Object [] a = c.toArray ();

Supposons qu'il  c ne contienne que des chaînes (peut-être parce qu'il  c est de type  Collection<String>). L'extrait de code suivant vide le contenu de  c dans un tableau nouvellement alloué  String dont la longueur est identique au nombre d'éléments dans  c.

String [] a = c.toArray (nouvelle chaîne [0]);

Je suppose que tu aimes

Origine blog.csdn.net/qq_36961530/article/details/102696798
conseillé
Classement