2013-04-05 92 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時導入的任何導入,並且如果需要將其作爲單獨問題發佈。

相關問題