のクラスをEnumSet
の変数から取得することは可能ですか?EnumSetのEnumのクラスを取得
次のコードを考えてみましょう:fooBar()
でFoo.class
を書く
enum Foo
{
FOO_0,
FOO_1,
}
<E extends Enum<E>> void fooBar(EnumSet<E> enumSet, Class<E> type)
{
EnumSet<E> none = EnumSet.noneOf(type);
// ...
}
void bar()
{
EnumSet<Foo> enumSet = EnumSet.of(Foo.FOO_1);
fooBar(enumSet, Foo.class);
}
は冗長なようです。私は fooBar()
の機能の中からclass
を抽出したいと思います。それも可能ですか?
私がしたいことは、fooBar(enumSet);
を呼び出すだけで、none
という変数をEnumSet.noneOf()
としてインスタンス化できることです。
noneOf()は何をすべきか?最初の議論は何ですか? –
@JBNizet質問には関係ありません。たぶん、このメソッドにもっとランダムな名前を付けるべきだったのでしょうか? – rozina
@rozinaあなたの質問は現在不明なので、問題になります。実際に何をしようとしているかについての詳細情報を追加してください。 –