我不知道为什么编写代码:
List<String> data = new ArrayList<>();
它说
-source 1.5中不支持diamond运算符
(使用-source 7或更高版本启用菱形运算符)
----
(Alt-Enter显示提示)
我已经使用了JDK 1.7。当我在Eclipse中打开它时,我没有收到该错误。
-source 1.5
意味着您的代码将与Java
1.5版兼容,并且不能使用稍后介绍的语言构造。阅读http://docs.oracle.com/javase/8/docs/technotes/tools/unix/javac.html以了解更多信息。
实现所需目标的简单方法(能够使用Java 7中添加的菱形运算符)是在项目定制程序中更新项目源/二进制版本-
转到Projects
选项卡(Ctrl-1),选择项目节点,然后Properties
在其上下文菜单中选择并Source/Binary Format
在“源”选项卡中更新字段。
我不知道为什么当我编码: 上面说 我已经使用了JDK1.7。当我在eclipse中打开它时,我没有得到那个错误。
问题内容: 我正在尝试使用Diamond运算符,但是却收到以下消息: -source 1.5中不支持Diamond运算符(使用-source 7或更高版本来启用Diamond运算符) 它可以在Android的netbeans中修复吗? 问题答案: Android需要Java来源合规性5.0或6.0(Java5 / 6)。开箱即用不支持Java7。这些文章描述了有关如何使用某些Java7功能的技巧:
问题内容: 我在IntelliJ中使用maven,JDK1.8,maven 3.2.5。获取编译错误:使用-source 7或更高版本启用diamond opera。具体如下: 有什么建议么?还有其他配置可以设置此源级别吗?似乎它不使用Java 1.8。 问题答案: 检查你的配置方式,它应使用Java版本7或更高版本:
问题内容: um(使用Java 7(1.7.0_67))并将项目语言级别设置为7-钻石,ARM,多捕获。我的代码如下,使用maven进行构建时会引发编译错误的行。 InstrumentingAgent第63行中的多捕获块 编译时出现以下错误。为什么不起作用?我究竟做错了什么。我正在使用IntelliJ IDE。 根据我所读的内容,钻石算子应该与Java 7一起使用。但是为什么我要使用它。如果我用相
问题内容: 考虑下面的Java代码,它尝试实例化一些: 并且很简单;在Java 7中使用新的Diamond运算符来减少不必要的类型参数重复。 是使用匿名类的一种变体,可能会覆盖的某些方法。 尝试使用菱形运算符,类似于,但这是编译错误,消息 “ <>”不能与匿名类一起使用。 产生一个错误,证明编译器知道实际需要的类型。错误消息是 类型不匹配:无法从新的ArrayList (){}转换为List 因此