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。

您可能想要使用 a 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 回答