eclipse 未在 java 8 项目中插入“钻石”运算符

2022-09-01 17:05:42

我有一个配置为使用Java 8的maven项目,并且一切正常,eclipse编译代码如下:

Map<String,String> map = new HashMap<>();

当我在“错误/警告”选项卡上设置旧式代码(“类型参数的冗余规范”)时,它甚至抱怨旧式代码。问题是,我无法弄清楚如何在自动完成时默认使用此语法 - 我很确定我之前看到它工作,但现在每当我按ctrl空格键插入构造函数时,它都坚持添加参数,我不喜欢。

任何人都可以提示检查什么设置以使内容辅助插入<>而不是<字符串,字符串>?或者也许这与我使用的是Java 8而不是Java 7有关,或者我正在使用maven?


答案 1

几分钟前,我遇到了这个问题,并通过键入SO问题解决了一半。

Eclipse的自动完成功能显然在我不久前摆弄了高级内容辅助设置之后,优先考虑了旧式通用语法。尝试重置为默认值;这就是为我修复它的原因,并默认返回自动完成插入菱形语法。Java > Editor > Content Assist > Advanced


答案 2

我遇到了同样的问题,但是将所有内容设置为默认值的解决方案对我不起作用。对我有用的是取消选中上部窗口中的JPA提案Java > Editor > Content Assist > Advanced


推荐