在最新版本的Android Studio(0.4.2)中,在创建新项目时添加了新设置,即Language Level 我想知道它指的是什么,以及选择任何提供的选项的后果。 该文件没有给我一个清晰的图片,我不想选择一个选项,当我不知道会导致什么? 感谢
答案 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及以下版本很清楚。
答案 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.其他功能适用于以前的平台。