我想将数组插入到hashmap中。当创建整数类型的val时,我放入地图就完全没问了。
Integer[] val = {1,2};
LinkedHashMap<String, Integer[]> map = new LinkedHashMap<String, Integer[]>();
map.put("1", val);
但是当我不想创建一个数组并直接插入地图时,如下所示
map.put("1", {1,2});
然后它不正确。为什么? 如何做到这一点?
答案 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
关键字,然后在作为声明的一部分执行时将其作为异常。