2011-04-24 81 views
2

如何將字符串映射到靜態定義的整數數組?我試過將字符串映射爲整數的數組 - Java

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}是非法的。

回答

9

在初始化內容之前,您需要調用數組的構造函數。

map.put("foo", new int[]{5, 1, 3, 2}); 
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}); 
} 
0

如果地圖將永遠不會改變,你可以使用Guava LIB:

private static ImmutableMap<String, int[]> immutaleMap = 
    ImmutableMap.of("foo", new int[]{5, 1, 3, 2}, 
        "bar", new int[]{2, 7, 8});