2016-01-03 137 views
0

我正在嘗試在Eclipse中的Java項目中使用java.util.ArrayList。它在這個IDE上解決了有趣的問題,這與我在NetBeans中使用的相反。例如:嘗試在Eclipse上使用java.util.ArrayList時出現錯誤

在NetBeans中,我可以簡單地創建一個通用的ArrayList如下:

List<Bundle> bundles = new ArrayList(); 

然而,在Eclipse中,這是結構,如果我成功地聲明和初始化一個ArrayList:

List bundles = (List) new ArrayList<Bundle>(); 

我被迫做了類型轉換,以及Generisation只能在右側完成。

但是,這並不算太壞,直到我嘗試調用一些ArrayList方法,例如bundles.add(bundle1);。我在方法add()上出現錯誤突出顯示。

dundles.Ctrl+space給了我一個「沒有默認的建議」

我有我的IDE平臺不好,或不完全配置?可能是什麼問題?

謝謝大家提前。

--->

的Eclipse的Java EE IDE的Web開發。
版本:Mars.1版本(4.5.1)
版本ID:20150924-1200

--->

Java版本 「1.8.0_60」
的Java(TM) SE運行時環境(建立1.8.0_60-B27)
的HotSpot的Java(TM)客戶端虛擬機(建設25.60-B23,混合模式)

+0

你確定你已經導入了'java.util.List'而不是其他類型的'List'嗎? – Titus

+0

是的。完全確定@Titus。 –

回答

0

試試這個:

List<Bundle> bundles = new ArrayList<>(); 
+1

請記住,在Java 8中,這可以簡化爲'List bundles = new ArrayList <>();' –

+0

True!我仍然在學習所有這些更新。我會修改我的答案。謝謝! – TangledUpInBlue

+0

隨着我得到整行(列表 bundles = new ArrayList ();')突出顯示爲包含錯誤。 Eclipse會提示我'刪除類型參數',然後'添加轉換爲列表'。 –

0

嘗試:

List<Bundle> bundles = new ArrayList<Bundle>(); 

這應該是你做的語法正確的方式。

如果這不起作用,可能是Java的問題。我相信Java在運行時包含有關List的內容和組件的信息。因此,List創建時必須知道並具有組件類型。

相關問題