2012-04-04 14 views
12

私は3つの定数付き文字列配列を持っています。例えば:1つのJavaファイル内に複数の列挙型クラス

String[] digit = {"one", "two", "three"}; 
String[] teen= {"ten", "twenty", "thirty"}; 
String[] anchors = {"hundred", "thousand", "million"}; 

私は別に列挙型にこれらを転送すると思っていたので、私は3つの列挙型クラスがあります:実装getValue方法でdigitteenanchorsを。しかし、私は小さなデータと同じ種類のデータしか持っていないので、それらを別々のファイルに入れたいとは思っていません。同じ意味のあるJavaファイルでアクセスメソッドをこれらすべてに持たせる最良の方法は何ですか?

答えて

36

彼らはこのように3つの内部クラスになりますあなたはまた、次のようにstaticインポートを使用することができます

public class Types { 
    public enum Digits {...} 
    public enum Teens {...} 
    .... 
} 

はその後、Types.Teen.TWENTYなど彼らにTypes.Digits.ONEを参照してください。

import Types.Digits; 
import Types.Teen; 

..

短い参照を持つために: Digits.ONETeen.TWENTYなど

+0

私が行う唯一の提案は、列挙型の署名を 'public static enum'に変更することです。こうすることで、必要な列挙型の静的インポートを使用して、ユーザーの入力を少し節約できます。 – jpm

+1

enumはすでに静的です。静的(インターフェイスなど)として宣言する必要はありません。 –

+5

そうです。私はある時点でそれを学んだと確信しています。それでも、完全修飾名を使用して読みやすさや明瞭さを増すのでなければ、私は静的インポートをお勧めしますが、それは本当に個人的な好みの点です。 – jpm

関連する問題