将数组插入hashmap而不创建新数组

时间:2017-06-14 10:19:30

标签: java arrays insert hashmap

我想将数组插入到hashmap中。当创建整数类型的val时,我放入地图就完全没问了。

Integer[] val = {1,2};

LinkedHashMap<String, Integer[]> map = new LinkedHashMap<String, Integer[]>();
map.put("1", val);

但是当我不想创建一个数组并直接插入地图时,如下所示

map.put("1", {1,2});

然后它不正确。为什么? 如何做到这一点?

3 个答案:

答案 0 :(得分:3)

你可以这样做:

map.put("1", new Integer[] {1,2});

允许在地图中插入匿名数组

答案 1 :(得分:0)

您需要传递Integer[]的实例,其中{1,2}不是Integer[]实例。

答案 2 :(得分:0)

当你这样做时

Integer[] val = {1, 2};

然后{1, 2}数组初始值设定项。这只能用于数组变量的声明,而不能用于任何其他地方。

ΦXocę웃Пepeúpaツ已经告诉过你可以使用的语法:new Integer[] {1, 2}。这适用于任何可以使用数组的地方。我认为他们认为在分配新数组时应该强制使用new关键字,然后在作为声明的一部分执行时将其作为异常。