2012-07-24 12 views
28

No puedo entender cuáles son las diferencias entre ... en Java y las matrices también en la lista de matrices, especialmente en la lista de matrices.Diferencia entre matrices y 3 puntos en java

Ambos podemos usar como ilimitados pero ... se usa raramente.

Gracias de antemano por ayudar.

Respuesta

8
  • Un array es una colección de objetos de longitud fija. p.ej. new int[5];
  • Un ArrayList es una colección de objetos de longitud variable. p.ej. new ArrayList<Integer>();
  • ... en variadic functions es una parte de una firma de método que denota una matriz de parámetros. p.ej. public void printLines(String... lines)
65

Los tres puntos sólo se pueden utilizar en un argumento de un método, y se llaman 'varargs'. Significa que puede pasar una matriz de parámetros sin crear explícitamente la matriz.

private void method(String[] args) {} se llama como method(new String[]{"first", "second"});

private void method(String... args) {} se llama como method("first", "second");

+6

Vale la pena señalar que los varargs son sólo azúcar. El método realmente toma una matriz, matriz simple. 'method (String ... args)' se puede invocar como 'method (" first "," second ")', pero también se puede invocar como 'method (new String [] {" first "," second "})'. – yshavit

+0

Vea también este ejemplo en la documentación: http://stackoverflow.com/documentation/java/99/arrays/2981/arrays-as-method-parameter – Jorn

Cuestiones relacionadas