Eclipse给了我一个错误:
'<>' operator is not allowed for source level below 1.7
我猜这是因为它没有使用java 1.7。除了它是。至少openjdk 1.7(我的OS是OpenSuse 12.3)。
我从开普勒切换回朱诺,以减少一些滞后,并试图找出这个bug,到目前为止无济于事。
我尝试过的一些东西:eclipse的默认运行时是opensdk 1.7(在帮助、关于、安装细节中是这么说的)-项目属性、java build -
我会安装oracle版本,但opensuse存储库中只有1.6个可用版本。我已经尝试安装oracle提供的rpm,它没有把自己放在我的路径上,有点把一切都搞砸了,所以我又删除了它。
它也应该适用于openjdk,不是吗?还是你认为它有bug?
ps:junit也没有被识别,所以我手动链接到了jar文件。也许这是相关信息。
在项目的首选项中,必须将编译器--source
选项设置为1.7
,并将--target
设置为1.7
。有专门的选项框。
右键单击该项目。选择属性。选择左侧的 Java 编译器。选择 1.7
作为编译器合规性级别。如果下面的 2 个下拉菜单不是 1.7
,请取消选中使用默认合规性设置并将其设置为 1.7
。
右键单击错误,选择“快速修复”,然后选择“将JRE更改为1.7”
如果要使用以下版本,请使用
Map<String, Integer> map = new HashMap<String, Integer>();
而不是
HashMap<String, Integer> map = new HashMap<>();