我想将数组插入到哈希图中。当创建整数类型的 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ę 웃 Пepeúpa ツ 已经告诉你可以使用的语法:new Integer[] {1, 2}
。这适用于任何可以使用数组的地方。我认为他们认为在分配新数组时应该强制使用 new
关键字,然后在声明中执行此操作时出现异常。