我已經將一些項目導入到我的工作區中。它有一些hashmaps,arraylist等,它在這個代碼的<>
部分有語法錯誤。定義新的HashMap <>()時出現語法錯誤;或新的ArrayList <>();
例如,數組列表的定義是ArrayList<String> bases = null;
,但是當創建像bases = Arraylist<>();
這樣的新實例時,它會得到語法錯誤。
我有jre1.7和JDK 7我的系統
我已經將一些項目導入到我的工作區中。它有一些hashmaps,arraylist等,它在這個代碼的<>
部分有語法錯誤。定義新的HashMap <>()時出現語法錯誤;或新的ArrayList <>();
例如,數組列表的定義是ArrayList<String> bases = null;
,但是當創建像bases = Arraylist<>();
這樣的新實例時,它會得到語法錯誤。
我有jre1.7和JDK 7我的系統
bases = new ArrayList<>();
看起來像一個泛型類型的聲明上安裝,但它缺少的字母。嘗試用一個字母填充括號並在類標題中聲明該字母爲通用類型。
這個(<>
)被稱爲鑽石算子(類型推理),它在1.7中被添加到Java中。在您的系統上安裝Java 7是不夠的,您的項目也應該使用Java,因此請使用IDE的項目設置中的Java 7。
你的意思是在java構建路徑?我已經從該項目屬性更改爲Java 7,但問題仍然存在! –
鑽石只支持jdk7(及更高版本)。您的系統上安裝了jdk7。你應該確保你的IDE(eclipse?)爲你的項目使用jdk/jre7。
它也可能是你的問題中的錯字。你需要new
關鍵字和ArrayList
(大L)。
xxx = new ArrayList<>();
我現在沒有任何其他JDK或JRE安裝在我的電腦上! –
如果你要使用原始類型,然後聲明並分配像以下:
ArrayList bases = null;
bases = new ArrayList();
如果使用泛型和JDK7,然後聲明對象的類型進行存儲,並使用鑽石操作:
ArrayList<TYPE> bases = null;
bases = new ArrayList<>();
如果使用的是仿製藥,守你沒有指定類型參數......'= Arraylist();' –
Fenton
在「=」符號之後是否有「new」這個詞?它在你的問題標題中,但不是你的問題主體。 –
@DavidWallace它有新的= 我只是忘了寫有問題。我想它與我的日食偏好的東西!因爲這個項目適用於另一個系統或另一個日食! –