JDK1.5 추가된 문법 향상된 for문
우리는 항상 다음과 같은 코딩을 해왔다..
public static void main(String[] args) {
for(int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
하지만 java1.5로 넘어오면서 다음과 같이 바뀔 수도 있다.
public static void main(String[] args)
{
for(String str : args) {
System.out.println(str);
}
}
즉, for문 안에서 args배열의 0번째 요소부터 차례로 str에 값을 대입시켜주는 것이다.
그렇다면 List 가능할까?
public static void main(String[] args)
{
List list = new ArrayList();
for(String str: args) {
list.add(str);
}
for(Object obj : list) {
String str = (String)obj;
System.out.println(str);
}
}
마찬가지로 잘 작동하고 있음을 알 수 있다.
마무리로 위 예제를 Generics를 이용하여 표현하면 다음과 같다.
public static void main(String[] args)
{
List<String> list = new ArrayList<String>();
for(String str: args) {
list.add(str);
}
for(String str : list) {
System.out.println(str);
}
}