0

JAVAでこの方法で配列を定義することは可能ですか?そうでなければ、この定義を閉じる代替手段はありますか?

private final int CONST_0= 0;
private final int CONST_1= 1;
private final int CONST_2= 2;
private final int CONST_3= 3;
private final String[] CONST_TXTRECORDS = new String[] 
                                          {[CONST_0] = "test0",
                                          {[CONST_1] = "test1",
                                          {[CONST_2] = "test2",
                                          {[CONST_3] = "test3"};
4

3 に答える 3

4

おそらく、列挙型を確認する必要があります。

http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html

汎用 Map クラスまたは特殊な EnumMap のいずれかを使用して、列挙型をマップ キーとして使用できます。これは、もう少し効率的だと思います。

https://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html

于 2012-09-07T09:21:04.760 に答える
3

定義しようとしているのは配列ではなく、連想配列、または Java で言えば Map です。

HashMapおそらく、要件がどれほど静的であるかに応じて、(または、他の人が書いたように、列挙型)を使用したいと思うでしょう。

参照: Java チュートリアル > コレクション トレイル > マップ インターフェイス

于 2012-09-07T09:23:22.870 に答える
2
public enum MyNum {
    CONST_0(new int[]{0},"test0"),
    CONST_1(new int[]{1},"test1"),
    CONST_2(new int[]{2},"test2"),
    CONST_3(new int[]{3},"test3");

    private String value;
    private int key[] ;

    MyNum(int key[],String value){
        this.value = value;
        this.key = key;
    }

    public String getValue() {
        return value;
    }

    public int[] getKey() {
        return key;
    }
}
于 2012-09-07T09:30:38.637 に答える