조건
1.JDK 1.5 이상
2.사용할 변수는 지역변수로 인식된다. (For문 안에서 사용되기 때문)
장점
1.간편한,가독성 좋은 코드
단점
1.인덱스를 사용하지 못한다.(일반 for문의 (int i=0;) 할 때 i 같은 인덱스를 말하는 것) 하지만 방법이 있다.
2.배열이나 ArrayList 값을 사용할 순 있지만 절대 수정할 수는 없다.
무조건적으로 써야되는건 아니지만..
예를들어 vo에 들어있는 값을 출력할때 향상된 for문을 이용하면 이렇게 쓴다.
for (String userId : authuserVo.getUserIdArr()){
authuserVo.setUserId(userId);
}
for (String userNm : authuserVo.getUserNmArr()){
authuserVo.setUserNm(userNm);
}
똑같은 코드를 기존 for문으로 쓰면 다음과 같다.
for(int i=0; i<authuserVo.getUserIdArr().length; i++){
authuserVo.setUserId(authuserVo.getUserIdArr()[i]);
authuserVo.setUserNm(authuserVo.getUserNmArr()[i]);
}
이경우에서 어느 쪽을 선택할지는 취향차이 인거 같기도하고..