Документация Java для метода
String[] java.io.File.list(FilenameFilter filter)
включает это в описание возврата:
Массив будет пустым, если каталог пуст или если никакие имена не были приняты фильтром.
Как мне сделать то же самое и инициализировать массив String (или любой другой массив в этом отношении), чтобы он имел длину 0?
java
arrays
initialization
Рон Туффин
источник
источник
null
в этом особом случае.Ответы:
Как говорили другие,
действительно создаст пустой массив. Однако в массивах есть одна приятная вещь - их размер не может измениться, поэтому вы всегда можете использовать одну и ту же ссылку на пустой массив. Итак, в вашем коде вы можете использовать:
а затем просто возвращайтесь
EMPTY_ARRAY
каждый раз, когда он вам нужен - нет необходимости каждый раз создавать новый объект.источник
private static final String[] EMPTY_ARRAY = {};
EMPTY_ARRAY[0]
- это пытается получить доступ к элементу 0, которого не существует ...String[] str = new String[0];
?источник
Но
не будет работать, так как информация о типе отсутствует.
источник
return new String[] { };
иreturn new String[0];
оба будут работать.Хорошо, я на самом деле нашел ответ, но подумал, что все равно «импортирую» вопрос в SO
String[] files = new String[0];
или
int[] files = new int[0];
источник
Вы можете использовать ArrayUtils.EMPTY_STRING_ARRAY из org.apache.commons.lang3
источник
Создайте функцию, которая не будет возвращать null, а вместо этого вернет пустой массив, который вы можете понять, прочитав приведенный ниже код.
источник