2012-02-18 6 views
3

나는 모든 곳에서 자바 열거 형을 사용하고 있으며 무작위로 열거 형을 선택하는 여러 가지 좋은 방법을 보았지만 일반적으로이를 수행 할 수있는 방법이 있어야한다고 생각합니다. 즉, 제공된 열거 형에서 임의의 값을 선택하는 한 가지 방법입니다. (I 추측, 또는 인기 요청하지 않습니다) 임의의 열거 형에서 임의의 값

public static <E> E randomMember(Enum<E> enumeration){ 
... 
} 

아직 내가 할 수있는 방법을 알아낼 수 없습니다, 말, 구글 결과의 부족은 내가 그것을 할 수없는 생각에 이르게.

의견이 있으십니까?

답변

4

당신은이 작업을 얻을 수의 예를 '하지 enum,의 클래스'enum 통과해야합니다

public static <T extends Enum<T>> T randomMember(Class<T> enumType) { 
    T[] constants = enumType.getEnumConstants(); 
    // Return a random element of constants array 
} 

... 

MyEnum rand = randomMember(MyEnum.class); 
+0

우수함! 나는 지금 이것을보고 다시보고 하겠지만, 나는 아직 제네릭을 다시 걸러내는 것처럼 보인다. 고마워. – mtrc