我在idea中编译一些简单的源代码时遇到了这个错误。
java: diamond operator is not supported in -source 1.6 (use -source 7 or higher to enable diamond operator)
jdk是oracle的1.7.40
但是在哪里可以添加这个“-source 7”选项呢?
我尝试添加ide设置,但没有效果。
检查IDEA中的项目结构选项卡,找到以下导航路径
项目结构
-
确保在“项目结构”页面中,已将项目语言级别设置为7.0。
选择此选项后,您将不得不重新打开项目,但随后您的菱形操作符将编译。
您需要设置项目语言级别(所有模块默认)和模块语言级别
两者的区别是什么 和 当我创建一个新的ArrayList时,钻石操作员是必要的吗?
问题内容: 我有一个类型为Patient_class的arraylist,并且用黄色下划线标出了arraylist类型,IDE提到了“新表达式中的冗余类型参数(使用菱形运算符)”。 我的问题是:我应该改用菱形运算符吗?是必须的吗?将记录存储到arraylist时,是否会丢失数据或出现其他任何问题? 这是我的数组列表: 老实说,我不知道钻石经营者实际上是什么。 问题答案: Diamond运算符的目的
我正在尝试使用diamond运算符,但收到以下消息: Source 1.5中不支持diamond运算符(使用Source 7或更高版本启用diamond运算符) 它在Android的netbeans中是可以修复的吗?
问题内容: Java 7中的菱形运算符允许如下代码: 但是,在Java 5/6中,我可以简单地编写: 我对类型擦除的理解是这些完全相同。(无论如何,泛型都会在运行时删除)。 问题答案: 是在左侧,你使用的是通用类型,而在右侧,你使用的是原始类型LinkedList。Java中的原始类型实际上仅存在于与前泛型代码的兼容性,并且除非绝对必要,否则绝对不能在新代码中使用。 现在,如果Java从一开始就具
问题内容: 为什么会产生错误,应如何写? 错误是“找不到<接受提供的参数的重载” 问题答案: 您的三元运算符在那里不工作的 原因 是由于各种中缀运算符的优先级。您可以在此处查看运算符优先级列表。如果您看一下,会发现底部的运算符通常是放置在较大代码段之间的运算符。优先级越高,它将越紧紧抓住左侧(或右侧)的表达式。因此,您通常希望您的运算符具有非常低的关联性,因此在类似以下的表达式中: 该会抢在它两侧