为什么<>运营商不允许1.7以下的来源?

时间:2013-04-05 23:49:35

标签: java

在java程序中,我有以下代码行:

HashMap<String, String> query_args = new HashMap<>();

我收到以下错误:

'&LT;&GT;'操作员不允许源级别低于1.7

我尝试将项目合规性和jre更改为1.7但是eclipse无法解决导入问题。我正在使用jre 1.6。

有什么建议吗?

2 个答案:

答案 0 :(得分:14)

在Java 7(此处为1.7)之前,您需要执行

HashMap<String, String> query_args = new HashMap<String, String>();

它被称为菱形运算符,并不与早期版本的Java向后兼容。

答案 1 :(得分:10)

因为直到Java 7才引入它。除了记录Java的历史之外,我真的不知道如何回答这个问题。

关于导入,您应该研究为什么Eclipse在设置为Java 1.7时无法解析它们的任何导入,如果需要,将其作为单独的问题发布。