我有這行代碼:Java 7 Diamond Operator上的編譯錯誤:ArrayList <>();
List<IObserver<?>> observers = new ArrayList<>();
,並獲得3個以下錯誤:
Cannot instantiate the type ArrayList<?>
Syntax error on token "<", ? expected after this token
Type mismatch: cannot convert from ArrayList<?> to List<IObserver<?>>
我使用Eclipse 3.7,我安裝了JDK 7的更新5和項目被設置爲使用構建路徑中的JRE系統庫[JavaSE1.7]。
傳遞在IObserver<?>
在右側編譯罰款,但我必須使用鑽石操作符。
我認爲這是一個配置問題,但我無法弄清楚我錯過了什麼。
你是對的。 Eclipse 3.7.0不支持Java 7編譯器。我轉移到Eclise 4.2 – Simulant
事實上,Eclipse 3.7支持Java 7編譯器(我想知道它是否不),但是與安裝有關的一些問題。所以我留在4.2 Juno – Simulant