Java foreach 원리

from:http://stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work
foreach 는 JDK 1.5 이후 에 나타 난 새로운 특성 입 니 다. 다음 의 foreach 코드 와 일반적인 for 순환 은 어떤 차이 가 있 습 니까?
List someList = new ArrayList();
// add "monkey", "donkey", "skeleton key" to someList
for (String item : someList) {
  System.out.println(item);
}

이 코드 는 컴 파일 과정 에서 실제로 다음 코드 로 번 역 될 것 이다.
List someList = new ArrayList();
// add "monkey", "donkey", "skeleton key" to someList
for(Iterator i = someList.iterator(); i.hasNext(); ) {
   String item = i.next(); 
   System.out.println(item);
}

이것 은 Iterable 인터페이스의 클래스 를 실현 하 는 데 적합 하 다.또한 배열 에 있어 서 다음 표 시 를 사용 합 니 다. 매번 배열 의 경계 에 도 착 했 는 지 확인 합 니 다. 앞으로 나 아가 지 않 으 면 일반적인 for 쓰기 와 같 습 니 다.
int[] test = new int[] {1,4,5,7};
for (int intValue : test) {
 // do some work here on intValue
}
int[] test = new int[] {1,4,5,7};
for (int i = 0; i < test.length; i++) { 
    int intValue = test[i]; 
   // do some work here on intValue
}

좋은 웹페이지 즐겨찾기