将数组插入哈希映射而不创建新数组
问题描述:
我想将数组插入哈希映射中。当Integer类型的val被创建后,我把它放到地图上是非常好的。将数组插入哈希映射而不创建新数组
Integer[] val = {1,2};
LinkedHashMap<String, Integer[]> map = new LinkedHashMap<String, Integer[]>();
map.put("1", val);
但是,当我并不想创建一个阵列正下方
map.put("1", {1,2});
那么它的不正确插入到图这个样子。为什么? 这可以怎么做?
答
你可以这样做:
map.put("1", new Integer[] {1,2});
这是允许在地图
答
插入匿名数组你需要传递的Integer[]
,那里的{1,2}
不是Integer[]
实例的实例。
答
当你做到这一点
Integer[] val = {1, 2};
然后{1, 2}
是数组初始化。这只能在数组变量的声明中使用,而不能在其他任何地方使用。
ΦXocę웃Pepeúpaツ已经告诉过您可以使用的语法:new Integer[] {1, 2}
。这可以在任何地方使用数组。我认为他们认为当你分配一个新的数组时,你应该被迫使用new
关键字,然后在你作为声明的一部分进行时做出例外。
是的,那是正确的。谢谢 –