2009-03-18 9 views
2

예전에 예제를 보았지만 실제로 다루는 참조 자료를 찾지 못했습니다. 나는, 여러 매개 변수를 전달하는 것이 가능Java에서 하나의 매개 변수로 여러 매개 변수 전달

public void aMethod(int...a) 

같은 방법을 정의하여, 예를 들어 INTS하지만 그것보다 그것에 대해 더 이상 모르는 것을 알고있다. 예제를 보았고, 전달 된 int의 평균을 반환했습니다.
구식 매개 변수 전달 방법입니까? 이걸 사용하는 것도 받아 들일 수 있습니까? 이렇게 할 때 문법은 정확히 무엇입니까? (일부 참고 자료는 좋을 것입니다.)

답변

12

이것은 (C 구문에서) varargs라고합니다. 전체적인 내용은 Sun's varargs guide을, 사용 방법은 JDC Tech Tip을 참조하십시오. 구식이 아닙니다. 이전에 당신은 배열이나리스트를 만들어야했기 때문에 기능 요청으로 들어갔다. C의 printf와 같은 것을 지원하는 것은 정말 못 생겼다. 그것은 좋은 것

public void aMethod(ArrayList<int> list) 

:

public void aMethod(int[] list) 

나이 :

public void myMethod(String... args) { 
    for (String aString:args) { 
     System.out.println(aString); 
    } 
} 
+1

언제 사용하는지에 관해서는, varargs는 성능상의 패널티가 있습니다. 따라서 실제로 사용해야 할 때만 사용하십시오. 내가 '남자, 내가 실제로 여기에 varargs를 사용할 수 있다고 생각한 자바에서 귀중한 작은 문제가 발생했습니다. (printf 만 생각할 것입니다.) – wds

-1

당신은이 작업을 수행하는 방법에 ints의 목록을 통과해야하는 이런 일을하려고 자바가 C ​​#의 params 키워드와 비슷한 것을 가지고 있지만 그렇지 않다면.

+0

"varargs"표기법의 전체적인 점은 명시 적 배열 또는 목록. –

+0

나는이 자바가 존재하지 않는다는 것을 알지 못했기 때문에 나는 자바를 좋아하지 않는다. 알아 둘만한! –

+0

-1 : Java 5 이상에서는 올바르지 않습니다. –