JDK1.5부터 사용가능다.
'(타입)... (변수명)' 과 같은 형식으로 선언되며 항상 마지막 매개변수여야 한다.
인자가 없음
System.out.println(concatenate());
인자가 하나
System.out.println(concatenate("a"));
인자가 둘
System.out.println(concatenate("a","b"));
인자가 배열
System.out.println(concatenate(new String[]{"A","B"}));
내부적으로는 배열을 이용하는것이지만, 배열과 차이점이 있다.
배열과 다르게 인자가 없어도 된다.
public class Main {
public static void main(String[] args) {
String[] strArr = { "100", "200", "300" };
System.out.println(concatenate("_", "100", "200", "300"));
System.out.println(concatenate("-", strArr));
System.out.println(concatenate(",", new String[]{"1", "2", "3"}));
System.out.println("["+concatenate(",", new String[0])+"]");
System.out.println("["+concatenate(",")+"]");
}
static String concatenate(String delim, String... args) {
String result = "";
for(String str : args) {
result += str + delim;
}
return result;
}
}
100_200_300_
100-200-300-
1,2,3,
[]
[]
위와 같이 향상된 for문을 쓰면 가변인자인 String... args를 다루기 편하다.