如何将字符串映射到静态定义的整数数组?我试过了
private static Map<String, int[]> map = new HashMap<String, int[]>();
static {
map.put("foo", {5, 1, 3, 2});
map.put("bar", {2, 7, 8});
}
告诉我{5,1,3,2}是非法的。
答案 0 :(得分:9)
在初始化内容之前,需要调用数组的构造函数。
map.put("foo", new int[]{5, 1, 3, 2});
答案 1 :(得分:5)
尝试
private static Map<String, int[]> map = new HashMap<String, int[]>();
static {
map.put("foo", new int[]{5, 1, 3, 2});
map.put("bar", new int[]{2, 7, 8});
}
答案 2 :(得分:0)
如果永远不会更改地图,您可以使用Guava lib:
private static ImmutableMap<String, int[]> immutaleMap =
ImmutableMap.of("foo", new int[]{5, 1, 3, 2},
"bar", new int[]{2, 7, 8});