Los documentos de Java para el método
String[] java.io.File.list(FilenameFilter filter)
incluyen esto en la descripción de devoluciones:
La matriz estará vacía si el directorio está vacío o si el filtro no acepta nombres.
¿Cómo hago algo similar e inicializo una matriz de cadenas (o cualquier otra matriz) para que tenga una longitud 0?
java
arrays
initialization
Ron Tuffin
fuente
fuente
null
en ese caso especial.Respuestas:
Como otros han dicho,
de hecho creará una matriz vacía. Sin embargo, hay algo bueno acerca de las matrices: su tamaño no puede cambiar, por lo que siempre puede usar la misma referencia de matriz vacía. Entonces, en su código, puede usar:
y luego regresa
EMPTY_ARRAY
cada vez que lo necesites; no es necesario crear un nuevo objeto cada vez.fuente
private static final String[] EMPTY_ARRAY = {};
EMPTY_ARRAY[0]
, ya que está intentando acceder al elemento 0, que no existe ...String[] str = new String[0];
?fuente
Pero
no funcionará ya que falta la información de tipo.
fuente
return new String[] { };
yreturn new String[0];
ambos funcionarían.Ok, en realidad encontré la respuesta, pero pensé que 'importaría' la pregunta a SO de todos modos
String[] files = new String[0];
o
int[] files = new int[0];
fuente
Puede usar ArrayUtils.EMPTY_STRING_ARRAY de org.apache.commons.lang3
fuente
Realice una función que no devolverá nulo, sino que devolverá una matriz vacía que puede recorrer a continuación para comprender el código.
fuente