android studio 0.3.2中的语言级别设置是什么?

时间:2014-01-10 13:46:13

标签: android android-studio

在最新版本的Android Studio(0.4.2)中,在创建新项目时添加了新设置,即Language Level 我想知道它指的是什么,以及选择任何提供的选项的后果。 该文件没有给我一个清晰的图片,我不想选择一个选项,当我不知道会导致什么? 感谢

3 个答案:

答案 0 :(得分:3)

这是关于您想要使用的Java语言级别。 KitKat支持完整的Java 7,Gingerbread和up支持Java 6和旧版本是Java 5.至少在核心Java API方面。提到了大致相同的设置here

如果编译器知道如何操作,您通常可以使用旧版本中添加的语言功能。例如,在Java 7中添加了Diamond Operator,但您仍然可以在Java 6中使用该功能

List<String> list = new ArrayList<>();

实际上编译成与

相同的东西
List<String> list = new ArrayList<String>();

确实

另一方面,“try with resource”构造无法编译为合法的Java 6兼容代码,因此仅适用于需要KitKat及更高版本的应用程序。

答案 1 :(得分:1)

答案可以更好地表达,恕我直言。 docs对Java 7及以下版本很清楚。

  1. 此设置会影响您可以在 源代码 中使用的Java语言功能。
  2. 您将使用所有Java语言功能,以便代码可以在所有Android版本中使用,“尝试使用资源”语言功能除外。
  3. 来自文档:“如果你想使用try with resources,你还需要使用19的minSdkVersion。你还需要确保Gradle使用的是JDK 1.7或更高版本。(和版本0.6) .1或更高版本的Android Gradle插件。)“

答案 2 :(得分:0)

在构建工具19中添加了Java 7支持。您现在可以使用菱形运算符,多捕获,资源尝试,交换机中的字符串等功能。将以下内容添加到build.gradle。

android {
compileSdkVersion 19
buildToolsVersion "19.0.0"

defaultConfig {
    minSdkVersion 7
    targetSdkVersion 19
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

Gradle 1.7+,Android gradle插件0.6。+是必需的。

请注意,仅尝试使用资源需要minSdkVersion 19.其他功能适用于以前的平台。