Jaka jest różnica, gdy piszemy String [] a w głównej metodzie i String ... a?Różnica między String [] a i String ... a
public static void main(String[]a)
i
public static void main(String...a)
Jaka jest różnica, gdy piszemy String [] a w głównej metodzie i String ... a?Różnica między String [] a i String ... a
public static void main(String[]a)
i
public static void main(String...a)
Drugi nazywa się varargs i został wprowadzony w Javie 5. Uwalnia od jawnego tworzenia tablicy, kiedy trzeba przekazać zero lub więcej parametrów do metody.
public static void main(String[] a)
Ten musi zostać wywołany z pojedynczym argumentem typu String [] lub null.
public static void main(String...a)
Ten może być wywołana jeden argument typu łańcuchowego [], lub za pomocą dowolnej liczby ciągów argumentów, takich jak główne ("a", "b", "c"). Jednak kompilator będzie narzekał, jeśli przekażesz wartość null, ponieważ nie może powiedzieć, czy masz na myśli String [] o wartości null, czy tablicę 1 pustego łańcucha.
Wewnątrz main()
, w obu przypadkach zmienna a
to String[]
.
Ponieważ jest to main
, możesz nie myśleć o tym, jak to się nazywa ... Zazwyczaj jest to pierwsza rzecz. Przestawiłem się jednak na używanie drugiego formularza dla wszystkich moich sieci; łatwiej jest przekazywać do niego argumenty do testowania.
Hej dziękuję za wyjaśnienie. – Surbhi
możliwy duplikat listy parametrów metody varags w Javie vs. tablica) (http://stackoverflow.com/questions/5405673/java-varags-method-param-list-vs-array) –