먼저 배열과 함께 사용할 수 있습니다.유형 MyClass
의 객체의 배열을 고려 :
MyClass[] objects = new MyClass[SIZE];
으로 반복과 같이 :
for(MyClass object : objects) {
// do something with the individual object.
}
둘째, 당신은 반복 가능한 컬렉션과 함께 사용할 수 있습니다.
class MyClassList implements Iterable<MyClass> {
// define necessary methods to implement the Iterable interface!
}
이제 우리는 수집 할 수 있습니다 :
MyClassList objects = new MyClassList();
// fill the collection somehow.
을 그리고 반복 :
for(MyClass object : objects) {
// do something with the individual object
}
클래스 개별 요소의
MyClass
을 고려하고
Iterable
의 서브 클래스를 정의하여 이들의 컬렉션을 만들
마지막으로이 구조의 주요 단점은 반복에서 요소의 위치에 액세스 할 수 없다는 것입니다.
int i = 0;
for(MyClass object : objects) {
// do something with access to position i
i++;
}
나는 개인적으로 좋아하지 않는다 :
for(int i = 0; i < objects.size(); i++) {
// Here we have access to the position i
}
또는 임시 변통의 인덱스를 사용 : 당신이 루프를 사용해야 하나의 위치를 알고 싶다면 주어진 object
위해 당신은, 처리되는 마지막 해킹, 그리고 그냥 고전적인 for
루프로 돌아갈 것이다. 희망이 도움이! 사용
이것은 [Enhanced for-loop]입니다. (http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.14.2) –
무엇이 궁금합니다. 당신이 사용한 검색어. –
10 년 전에 Java 5에 추가되었으므로 이전 웹 페이지에서는 언급되지 않습니다. 나는이 링크 copyright 2000-2001을 좋아한다 : http://jcp.org/aboutJava/communityprocess/jsr/tiger/enhanced-for.html –