2016-06-17 9 views
1

私はいくつかのデバッグツールを開発中です。この時点で私がしようとしているのは、テスターに​​Enumのエントリ(その名前と人間が判読可能な値)を表示するGUIウィンドウを提供することです。表示される複数の列挙体があるので、できるだけジェネリックとして基本ダイアログクラスを持っていたいと思います。変数として渡してenumを使用できますか?

さらに、いくつかの列挙型は共通のインタフェースを実装しています。例えば。

public enum DaysOfTheWeek implements CanBeTranslated { ... 

したがって、私はその上に構築しようとしました。しばらく考えた後、私は、この変数を作成しました:

Class<Enum<? extends CanBeTranslated>> entries; 

私はDaysOfTheWeek.valuesのようentries.values()へのアクセス権を持つことが期待けどいや、そのように動作するようには思えません。私がしたいのは、

変数内の抽象的な(「特定ではない」)列挙型で作業する方法はありますか? フィールド名をにするために列挙型にアクセスする必要がありますが、これは重要です。これが当てはまらない場合は、値の配列を使用できます。

も、この質問は、私はプロのJava developpersから非常に敵対的な態度に遭遇した好奇心

のうち、実験

  • 書き込みデバッグコード
  • の観点から求められていることに注意してください。私は楽しいために違うことをするという奇妙な質問をしたので、この免責事項。

答えて

3

これは、あなたが欲しいものを行う必要があります。

Class<? extends CanBeTranslated> entries = DaysOfTheWeek.class; 
for (CanBeTranslated entry : entries.getEnumConstants()) { 
    // ... 
} 
関連する問題