Reputation: 43588
Is it possible to define array in this way in JAVA, otherwise are there an alternative close this definition?
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"};
Upvotes: 0
Views: 742
Reputation: 4029
Perhaps you should look at enums.
http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
You can use enums as map keys, using either the generic Map classes or the specialized EnumMap which I guess is a bit more efficient.
https://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html
Upvotes: 4
Reputation: 953
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;
}
}
Upvotes: 2
Reputation: 299178
What you are trying to define is not an array, but an associative array, or in Java speak, a Map.
You probably want to use a HashMap
(or, as the others wrote, an enum, depending on how static your requirements are).
See: Java Tutorial > Collections Trail > The Map Interface
Upvotes: 3