143 votes

Comment puis-je initialiser un tableau de chaînes de longueur 0 en Java?

La Java Docs pour la méthode
String[] java.io.File.list(FilenameFilter filter)
comprend ce dans les retours description:

Le tableau sera vide si le répertoire est vide ou si aucun nom n'a été acceptée par le filtre.

Comment puis-je faire quelque chose de similaire et initialiser un tableau de Chaîne (ou de tout autre tableau pour que ce soit), d'avoir une durée de 0?

243voto

Jon Skeet Points 692016

Comme d'autres l'ont dit,

new String[0]

sera en effet de créer un tableau vide. Cependant, il y a quelque chose de gentil sur les tableaux - leur taille ne peut pas changer, de sorte que vous pouvez toujours utiliser le même tableau vide de référence. Donc, dans votre code, vous pouvez utiliser:

private static final String[] EMPTY_ARRAY = new String[0];

et puis il suffit de retourner EMPTY_ARRAY chaque fois que vous en avez besoin - il n'y a pas besoin de créer un nouvel objet à chaque fois.

25voto

mauris Points 19666

String[] str = new String[0];?

19voto

Thomas Jung Points 17692
String[] str = {};

Mais

return {};

ne fonctionne pas comme le type de l'information est manquante.

14voto

Ron Tuffin Points 8286

Ok j'ai trouvé la réponse, mais je pensais m' '"importation" de la question, DONC, de toute façon

String[] files = new String[0];
ou
int[] files = new int[0];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X