2016-01-03 108 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创建时必须知道并具有组件类型。

相关问题