摘抄自本人博客,详细可以参考:
https://blog.csdn.net/w8y56f/article/details/117825442
如何解决
Diamond types are not supported at language level ‘5’
解决方法
修改language level即可能可以临时解决。
diamond指钻石,即钻石符号(
<>
),长得像钻石吧!所以看到diamond这个单词,就要想起这个符号,sql里也用这个表示 “不等于”。jdk5里虽然有泛型的写法,但是这种写法
List<String> list = new ArrayList<>();
只有jdk7之后才能用钻石符号,否则就怪怪不省略,使用List<String> list = new ArrayList<String>();
为什么说可能是临时的解决方案?
因为对于非maven的项目,你在Project Structure里Modules里改了Language level就是改了,但是对于maven项目,你改了有可能会打回原型,必须配置
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
PS: 下面是细节,以前我以为 Diamonds 是指泛型,犯过错,曾经也稀里糊涂