2013-04-05 87 views
8

在Java程序中,我有下面的代码行:为什么<>运算符不允许1.7以下的源代码?

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

,我收到以下错误:

“<>”操作者不允许源水平低于1.7

我试图将项目合规性和jre更改为1.7,但之后eclipse无法解析导入。我正在使用jre 1.6。

有什么建议吗?

+9

关于'“为什么<>运算符不允许1.7以下的源代码 - 因为它是在Java 1.7中定义的。实际上是一个愚蠢的问题。一个可能的解决方案:升级你的Eclipse以允许1.7。如果你的问题更多的是为什么错误信息,那么你的标题应该反映这一点。 – 2013-04-05 23:50:48

+0

*重新投票*如果你对Java的哪些版本中增加了什么特性有了一定的了解,这只是一个愚蠢的问题:/人们必须学习语言在他们职业生涯中的某个阶段不断发展,而这个问题完全可以告诉我们。 – djechlin 2016-02-11 22:21:32

回答

14

到Java 7(1.7这里)在此之前,你需要做的

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

它被称为钻石运营商,而不是与早期版本的Java的向后兼容。

+0

问的问题很少;优秀的答案。阅读心灵的方式! – pennyrave 2013-06-20 18:43:10

10

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

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

相关问题