为什么Java没有匿名地图或数组和列表?

时间:2015-12-17 09:10:04

标签: java arrays list hashmap

换句话说,为什么Java程序员需要创建一个类或明确创建一个Map,而只需说:

{ "name":["value1", "value2"]}

与其他语言一样。

3 个答案:

答案 0 :(得分:2)

  

为什么Java程序员需要创建一个类或明确创建一个Map

因为Java is a statically typed language,所有内容都必须有自己的类型。

此外,该语言还允许您使用double-brace initialization使用单个语句撰写地图{ "name":["value1", "value2"]}

Map<String, List<String>> map = new HashMap<String, List<String>>() {{
    put("name", Arrays.asList("value1", "value2"));
}};

答案 1 :(得分:2)

该视频是关于Java 9的新集合API改进。但最初Stuart Marks解释了为什么Java在创建集合时不如其他语言方便。

https://www.youtube.com/watch?v=OJrIMv4dAek

答案 2 :(得分:1)

这只是语言的限制;已经提出了内联列表和映射,但是从Java 9开始,它仍然不会包含在核心语言中。

另一方面,

Groovy为内联列表(默认为ArrayList)和映射(默认为LinkedHashMap)执行语法。