为什么在android中即使使用JDK7也无法切换字符串?

为什么在android中即使使用JDK7也无法切换字符串?,android,switch-statement,android-studio,java-7,Android,Switch Statement,Android Studio,Java 7,我有一个android项目,是和gradle一起建立的 我使用以下配置: android { compileSdkVersion "Google Inc.:Glass Development Kit Preview:19" buildToolsVersion "19.0.3" defaultConfig { minSdkVersion 19 targetSdkVersion 19 versionCode 1

我有一个android项目,是和gradle一起建立的

我使用以下配置:

android {
    compileSdkVersion "Google Inc.:Glass Development Kit Preview:19"
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}
我认为现在可以使用Java7语言特性了。 但当我尝试使用switch-String语句时,仍然会出现错误:

[...] found String, required: byte, char, short ,lon
那么我错了吗?Java 7语言功能仍然不可用吗?那么编译选项是什么意思呢


(我使用的是android studio 0.5.5)

确保您在项目结构>SDK位置>JDK位置中使用的是Java7 JDK

sourceCompatibility
targetCompatibility
语句添加到build.gradle文件后,您需要按“使用gradle文件同步项目”按钮——如果您从Android Studio进行编辑,IDE应该在编辑器窗口中发出通知

当您重新同步项目时,它应该会告诉您需要重新加载项目才能使语言级别的更改生效,这是IntelliJ的限制


我做了那件事之后,它就对我起作用了。

这很奇怪。JDK位置已正确设置为我的jdk7文件夹,并且由于依赖关系的更改,我也经常进行同步。我会再试一次。