[윤성우 열혈자바] 25-2. 매개변수의 가변 인자 선언
매개변수의 가변 인자 선언과 호출
class Varargs {
public static void showAll(String ... vargs) {
System.out.println("LEN : " + vargs.length);
for(String s : vargs)
System.out.print(s + '\t');
System.out.println();
}
public static void main(String[] args) {
showAll("Box");
showAll("Box", "Toy");
showAll("Box", "Toy", "Apple");
}
}
가변 인자 선언에 대한 컴파일러 처리
public static void showAll(Stirng...vargs) { . . . }
vargs를 배열의 참조변수로 간주하고 코드를 작성하면 된다.
public static void main(String[] args) {
showAll("Box");
showAll("Box", "Toy");
showAll("Box", "Toy", "Apple");
}
-> 컴파일러가 다음과 같이 배열 기반 코드로 수정을 한다.
public static void showAll(String[] vargs) { . . . }
public static void main(String[] args) {
showAll(new String[]{"Box"});
showAll(new String[]{"Box", "Toy"});
showAll(new String[]{"Box", "Toy", "Apple"});
}