2012-02-28 4 views
0

매우 멍청한 질문에 사과드립니다. while 루프와 가능한 솔루션이 존재하는 경우while 루프로 enum 반복하기

for(MyElementType type: MyElementType.values()) 
{ 
//do things 
} 

궁금 : 난 항상이 솔루션을 참조하십시오의 내가이 열거 돌이하고자 할 때 내가 너무

public enum MyElementType { 
TYPE_ONE, 
TYPE_TWO, 
TYPE_THREE; 
} 

같은 열거 형이 있다고 가정하자 . 주변에 서서 열거하기 Enumeration 인터페이스가 메서드hasMoreElements() 을 노출하는 것을 볼 수 있지만 함께 연결하는 방법을 모르겠습니다. 조언이 있으십니까?

+3

가 왜 while 루프를 원하는가 아주 간단? –

답변

3

@보세요 왜이가-각이 더 일반적으로 볼 것이 아니라 while 루프를 사용 하시겠습니까? 어떤 경우

, 그것은

Set<MyElementType> elements = EnumSet.allOf(MyElementType.class); 
Iterator<MyElementType> it = elements.iterator(); 
while (it.hasNext()) { 
    MyElementType el = it.next(); 
    // etc 
} 

// or 
Iterator<MyElementType> it = Arrays.asList(MyElementType.values()).iterator(); 
+0

while 반복문을 사용하려면 while 문에서 다른 조건을 점검하여 반복을 계속할지 여부를 결정해야합니다. (실제로는 "break"를 for에 사용하고 싶지 않습니다.) 어쨌든, 그 일은 나에게 용기를 불어 넣었고, 나에게는 잘 모르는 것을 배울 수있는 좋은 기회였습니다. – MaVVamaldo

관련 문제