Die Java-Dokumente für die Methode
String[] java.io.File.list(FilenameFilter filter)
enthalten dies in der Beschreibung der Rückgabe:
Das Array ist leer, wenn das Verzeichnis leer ist oder wenn vom Filter keine Namen akzeptiert wurden.
Wie mache ich etwas Ähnliches und initialisiere ein String-Array (oder ein anderes Array) mit einer Länge von 0?
java
arrays
initialization
Ron Tuffin
quelle
quelle
null
in diesem speziellen Fall nicht einfach damit beginnen würden .Antworten:
Wie andere gesagt haben,
wird in der Tat ein leeres Array erstellen. Es gibt jedoch eine nette Sache bei Arrays: Ihre Größe kann sich nicht ändern, sodass Sie immer dieselbe leere Array-Referenz verwenden können. In Ihrem Code können Sie also Folgendes verwenden:
und kehren
EMPTY_ARRAY
Sie dann jedes Mal zurück, wenn Sie es benötigen - Sie müssen nicht jedes Mal ein neues Objekt erstellen.quelle
private static final String[] EMPTY_ARRAY = {};
EMPTY_ARRAY[0]
- das versucht, auf Element 0 zuzugreifen, das nicht existiert ...String[] str = new String[0];
?quelle
Aber
funktioniert nicht, da die Typinformationen fehlen.
quelle
return new String[] { };
undreturn new String[0];
würde beide funktionieren.Ok, ich habe die Antwort tatsächlich gefunden, dachte aber, ich würde die Frage trotzdem in SO "importieren"
String[] files = new String[0];
oder
int[] files = new int[0];
quelle
Sie können ArrayUtils.EMPTY_STRING_ARRAY aus org.apache.commons.lang3 verwenden
quelle
Erstellen Sie eine Funktion, die nicht null zurückgibt, sondern ein leeres Array, das Sie zum Verständnis durch den folgenden Code gehen können.
quelle