La documentation Java de la méthode
String[] java.io.File.list(FilenameFilter filter)
inclut ceci dans la description des retours:
Le tableau sera vide si le répertoire est vide ou si aucun nom n'a été accepté par le filtre.
Comment faire une chose similaire et initialiser un tableau String (ou tout autre tableau d'ailleurs) pour avoir une longueur 0?
java
arrays
initialization
Ron Tuffin
la source
la source
null
dans ce cas particulier.Réponses:
Comme d'autres l'ont dit,
créera en effet un tableau vide. Cependant, il y a une bonne chose à propos des tableaux: leur taille ne peut pas changer, vous pouvez donc toujours utiliser la même référence de tableau vide. Donc, dans votre code, vous pouvez utiliser:
puis revenez simplement
EMPTY_ARRAY
chaque fois que vous en avez besoin - il n'est pas nécessaire de créer un nouvel objet à chaque fois.la source
private static final String[] EMPTY_ARRAY = {};
EMPTY_ARRAY[0]
- c'est essayer d'accéder à l'élément 0, qui n'existe pas ...String[] str = new String[0];
?la source
Mais
ne fonctionnera pas car les informations de type sont manquantes.
la source
return new String[] { };
etreturn new String[0];
fonctionneraient tous les deux.Ok, j'ai trouvé la réponse mais j'ai pensé que j'allais `` importer '' la question dans SO de toute façon
String[] files = new String[0];
ou
int[] files = new int[0];
la source
Vous pouvez utiliser ArrayUtils.EMPTY_STRING_ARRAY à partir de org.apache.commons.lang3
la source
Créez une fonction qui ne retournera pas null à la place renvoyer un tableau vide que vous pouvez parcourir le code ci-dessous pour comprendre.
la source