Programming/Java2014. 3. 11. 20:32
배열은 기존의 for(초기화;조건문;증감문) 식이 아닌
for(변수형:변수 리스트) 식으로 for-each를 통해 간편하게 구현을 할 수 있게 되어 있다.
public void argTest(String... n)
{
//for (int i = 0; i < n.length; i++)
// System.out.println("n[" + i + "]:" + n[i]);
for(String i: n)
System.out.println(i);

System.out.println("-------------------------------");
}

그리고 c에서는 인자를 ... 를 통해서 가변인자를 지원하나
Java는 1.5 부터(JDK 5) varargs를 지원하게 되었다

단, java에서는 ... 내에서는 동일 형에 대해서 만 지원한다.
public void argTest(String... n)

vt.argTest("Varargs", "Test");
vt.argTest("100", "600", "900", "1000");
vt.argTest();

C언어 스타일로 사용하려면 하나의 변수를 고정하고 그 이후에 대해서 ... 처리 하면 되지만
public void argTest(int s, String... n)

vt.argTest(1);
vt.argTest(1,"100");

C언어처럼 ... 이후에는 다른 변수를 추가할 수는 없다.(즉, 다른 형에 대해서는 연속적으로 입력 불가능)
public void argTest(int s, String... n, double e)
Error : The variable argument type String of the method argTest must be the last parameter 

for-each나 ...(varargs)는 autoboxing을 통해 구현되는 것으로 보인다.

[링크 : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html] for
[링크 : http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html] for - each
[링크 : http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html]
    [링크 : http://docs.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html]
    [링크 : http://docs.oracle.com/javase/tutorial/java/data/autoboxing.html]

'Programming > Java' 카테고리의 다른 글

java bytecode decompiler - javap  (0) 2014.03.12
java static initialize  (0) 2014.03.12
JUnit 사용 예  (0) 2014.03.11
java class default access modifier  (0) 2014.03.11
*.java 파일 하나에 여러개의 class 생성  (0) 2014.03.11
Posted by 구차니