¿Cuál es la diferencia cuando escribimos String [] a en el método principal y String ... a?Diferencia entre String [] a y String ... a
public static void main(String[]a)
y
public static void main(String...a)
¿Cuál es la diferencia cuando escribimos String [] a en el método principal y String ... a?Diferencia entre String [] a y String ... a
public static void main(String[]a)
y
public static void main(String...a)
El segundo se llama varargs y se introdujo en Java 5. Lo alivia de crear explícitamente una matriz cuando necesita pasar cero o más parámetros a un método.
public static void main(String[] a)
Éste debe ser llamado con un solo argumento de tipo String [], o nulo.
public static void main(String...a)
Éste se puede llamar con un solo argumento de tipo String [], OR con cualquier número de argumentos de cadena, como principal ("a", "b", "c"). Sin embargo, el compilador se quejará si pasa nulo, ya que no puede decir si se refiere a una cadena [] de valor nulo, o una matriz de 1 cadena nula.
Dentro de main()
, en cualquier caso, la variable a
es String[]
.
Ya que es main
, es posible que no pensar en cómo sería llamado ... Por lo general es lo primero. Pero he cambiado a usar el segundo formulario para todos mis principales; es más fácil pasarle argumentos para probarlo.
Hola gracias por la explicación. – Surbhi
posible duplicado de [Java varags método param list vs. array] (http://stackoverflow.com/questions/5405673/java-varags-method-param-list-vs-array) –