此语言级别不支持钻石types

将项目导入到Android Studio后,如果要编译或运行该项目,则会引发错误:

错误:(61,65)java:d​​iamond运算符在-source 1.6中不受支持
(使用源7或更高来启用钻石操作员)

有谁知道它是什么以及如何解决它?

Solutions Collecting From Web of "此语言级别不支持钻石types"

在Android Studio(文件 – >项目结构…,属性选项卡)中,设置以下值:

 Source Compatibility == 1.7 Target Compatibility == 1.7 

在这里输入图像说明

在此之后你的build.gradle将有这些条目:

 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } 

在这里输入图像说明

在Intellij Idea中,您需要设置项目语言级别(所有模块默认)和模块语言级别。

文件 – > 项目结构 – >在项目设置下 – >select项目 – > 项目语言级别 – >select7 – Diamons,ARM,多捕捉等8 – Lambda,typesannoationsetc 。 选项并点击应用

点击这里看照片

钻石运营商是Jdk 7的新function之一。请确保您的jdk版本是7或不。 这是一个钻石操作员的例子。

这是一个任务说明:

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

随着钻石经营者:

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

编辑

添加到你的build.gradle

 android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 14 targetSdkVersion 21 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } 

希望它对你有用。

几天前,我受了这个苦。 只需更新您的buildToolsVersion就像下面。 并升级您的SDK

  android { compileSdkVersion 21 buildToolsVersion '21.1.2' defaultConfig { minSdkVersion 15 targetSdkVersion 19 versionCode 1 versionName "1.0" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } 

使用Android KitKat(buildToolsVersion 19),您可以在开关中使用菱形运算符,多捕获,string,尝试资源等。为此,请将以下内容添加到您的构build文件中:

 android { compileSdkVersion 19 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 19 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } 

请注意,对于除尝试资源之外的所有语言function,您可以使用minSdkVersion的值早于19。 如果你想使用资源尝试,你还需要使用19的minSdkVersion。

您还需要确保Gradle正在使用JDK 1.7或更高版本。 (以及Android Gradle插件的0.6.1或更高版本。)

http://tools.android.com/tech-docs/new-build-system/user-guide

在Intellij中,对我来说,问题是在“设置 – >构build,执行,部署 – > Java编译器”下指定的每个模块的目标版本都是错误的。 在这里输入图像说明

希望这能节省一些时间。