内容中实现的类/子类有助于日食

我想做的是:

List<String> list = new 

然后点击Ctrl+ 空格键并获取(以及其他)以显示在类型建议中。ArrayList<String>()

我以为我以前可以工作,但我最近不得不重新安装,找不到它的设置。

这是Eclipse Java EE helios,但如果需要,我可以升级到indigo。

我试图在这里寻求帮助,但没有找到我正在寻找的信息。我尝试选中“默认建议类型”(Java ->编辑器->内容助手->高级“下的所有框,但无济于事。


答案 1

Eclipse 不知道哪个类实现了该接口,并且不会为它拥有的所有接口加载它们。但是,Eclipse可以学习你使用的内容,并在下次使用时向你展示它,也许这就是发生在你身上的事情,随着时间的推移,你教了Eclipse实现的类!

下面是学习之前/学习类实现之后的 Eclipse 示例。Map

enter image description here

正如你在图像中看到的,第一次,Eclipse除了我以前使用过的之外,什么都不知道。HashMap

之后,我使用并手动键入它们(仅限第一次),Eclipse现在缓存了它们。TreeMapLinkedHashMap

正如伙计们所建议的那样,你可以把点放在上面,点击它就会给所有类实现这个。第一次会有帮助。MapCtrl+T

2014年更新!

正如@K.Carpenter所指出的那样,此功能在较新的Eclipse版本中被禁用。重新启用它。转到“窗口>首选项>Java->编辑器>内容助手->高级”。

“默认建议类型”下,您需要检查 Java 类型建议


答案 2

像这样的代码是我对Java泛型的宠爱之一。我使用Google的Guava库来使我的泛型代码更具可读性,并且作为副作用,在Eclipse中不需要这个特定的功能(尽管我同意它应该实现)。番石榴对Sets也有类似的支持。

例如,我通常会按如下方式声明我的代码:

import com.google.common.collect.Lists;
...
List myList<String> = Lists.newArrayList();

推荐