将数组插入到哈希图中而不创建新数组



我想将数组插入到哈希图中。当创建整数类型的 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 关键字,然后在声明中执行此操作时出现异常。

最新更新