错误: -source 1.6 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)

今天晚上在AS上运行校长项目时,报错如下:

Error:(71, 35) 错误: -source 1.6 中不支持 diamond 运算符(请使用 -source 7 或更高版本以启用 diamond 运算符)

这个错误对应程序里的代码是:

一般正确的写法是在声明的时候指定类型,也就是:

List<PublicBlogListBean>  _hotDatas = new ArrayList<PublicBlogListBean>();

但是在JDK 1.7里新增了一个新特性:

增强对通用实例创建(diamond)的类型推断

类型推断是一个特殊的烦恼,下面的代码:

Map<String, List<String>> anagrams = new HashMap<String, List<String>>();

通过类型推断后变成:

Map<String, List<String>> anagrams = new HashMap<>();

这个<>被叫做diamond(钻石)运算符,这个运算符从引用的声明中推断类型。

也就是说JDK1.7支持这种类型推断后,在声明_hotDatas 时new ArrayList<>里可以不需要加上PublicBlogListBean类型

截图中的错误也提示了:-soure1.6中不支持diamond运算符,Diamond types are not supported at this
language level。说明目前使用的JDK版本不支持,但是Project此时的JDK路径正是1.7的版本,这...

事实上项目里还没有对module做源码兼容性的配置,即设置 Source Compatibility和Target Compatibility为1.7:

点击ok会后gradle重新构建,确定reload Project下就好啦~

也可以在build.gradle里直接配置:

查找的相关资源:

jdk1.7新特性

AndroidGradlePlugin指南(六)高级构建定制

时间: 2024-12-19 13:10:23

错误: -source 1.6 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)的相关文章

转发:maven打包时始终出现以下提示:-source 1.3 中不支持泛型(请使用 -source 5 或更高版本以启用泛型)

maven打包时始终出现以下提示: 1.-source 1.3 中不支持泛型(请使用 -source 5 或更高版本以启用泛型)List<User> userList= new ArrayList<User>(); 2.-source 1.3 中不支持注释(请使用 -source 5 或更高版本以启用注释)@WebService(endpointInterface = "com.webservice.service.LoadService") 而用命令mvn -

Maven报错:“请使用 -source 7 或更高版本以启用 diamond 运算符”

[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building storm-kafka-test 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO

错误:在maven install是抛出 “1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符”

Maven默认用的是JDK1.5去编译 diamond运算符,有的书翻译为菱形,有的书写的是钻石语法,指的是JDK1.7的一个新特性 List<String> list = new ArrayList<String>(); // 老版本写法 List<String> list = new ArrayList<>(); // JDK1.7写法 所以Maven默认使用JDK1.5去编译肯定是不认识这个东西的 你可以在pom.xml中加入下面的东西即可 <p

Error:(18, 51) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)

问题:主要是因为jdk版本不一样 解决: 方法一:List<String> list=new ArrayList<Stirng>(); 方法二:重新安装jdk8的版本(安装和配置环境变量) File->Project Structure->Modules->Language level 选择为7的版本,主要是因为JDK版本不支持 修改之后又出现下面的问题 问题: 解决: 结果: 原文地址:https://www.cnblogs.com/ysgcs/p/960891

解决:Java source1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符

Maven默认用的是JDK1.5去编译 diamond运算符,指的是JDK1.7的一个新特性 List<String> list = new ArrayList<String>(); // 老版本写法List<String> list = new ArrayList<>(); // JDK1.7及以后的写法 所以Maven默认使用JDK1.5去编译是不认识这个东西的,针对这种问题,在网上找了三种解决方案: Ⅰ :在项目pom.xml中加入下面的配置即可 &l

IDEA java:-source 1.5中不支持diamond运算符,请使用-source7或更高版本以启动diamond运算符

IDEA java:-source 1.5中不支持diamond运算符,请使用-source7或更高版本以启动diamond运算符 产生这个问题的原因是,project structure中对于JDK版本的设置和配置环境的时候选择的JDK版本不兼容. 所以修改方法为: file-project structure 将Language level修改成7以上的就可以. 原文地址:https://www.cnblogs.com/wobushitiegan/p/12254886.html

使用maven编译的时候提示 maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释的错误。

在编译的模块的pom文件中加上 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</ta

maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释

解决办法:在pom里 加上以下代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</

source 1.5 中不支持 diamond 运算符

使用maven编译jar包时,报如下错误: -source 1.5 中不支持 diamond 运算符[ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符) 修改IDEA对应jdk设置,都无法解决,后将pom文件中增加如下内容,即可打包成功 <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8<