2012-02-18 19 views
3

私はJavaの列挙型を全部持っていますが、無作為に列挙するさまざまな方法を見てきましたが、これを一般的に行う方法があるはずです。つまり、指定された列挙から任意の値を選択する1つの方法です。しかし、私はそれを行う方法を見つけ出すことができない、とGoogleの結果の欠如は、それが不可能であると信じて私をリード(または人気の要求ではない、私は推測する)、任意の列挙型からのランダムな値

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

関連する問題