将字符串映射到int-Java数组

将字符串映射到int-Java数组,java,arrays,static,Java,Arrays,Static,如何将字符串映射到静态定义的整数数组?我试过了 private static Map<String, int[]> map = new HashMap<String, int[]>(); static { map.put("foo", {5, 1, 3, 2}); map.put("bar", {2, 7, 8}); } private static Map=new HashMap(); 静止的{ map.put(“foo”,{5,1,3,2}); ma

如何将字符串映射到静态定义的整数数组?我试过了

private static Map<String, int[]> map = new HashMap<String, int[]>();
static {
    map.put("foo", {5, 1, 3, 2});
    map.put("bar", {2, 7, 8});
}
private static Map=new HashMap();
静止的{
map.put(“foo”,{5,1,3,2});
map.put(“bar”{2,7,8});
}

这告诉我{5,1,3,2}是非法的。

在初始化内容之前,需要调用数组的构造函数

map.put("foo", new int[]{5, 1, 3, 2});
试一试

private static Map=new HashMap();
静止的{
map.put(“foo”,新int[]{5,1,3,2});
map.put(“bar”,新int[]{2,7,8});
}

如果地图永远不会更改,您可以使用lib:

private static ImmutableMap immutaleMap=
ImmutableMap.of(“foo”,新int[]{5,1,3,2},
“bar”,新的int[{2,7,8});
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});
}
private static ImmutableMap<String, int[]> immutaleMap =
    ImmutableMap.of("foo", new int[]{5, 1, 3, 2},
                    "bar", new int[]{2, 7, 8});