Оператор переключения строк JDK 1.7 не работает

#java #android #switch-statement #java-7

#java #Android #оператор переключения #java-7

Вопрос:

[Исправлено]

Спасибо @Visil ниже (принятый ответ). Я добавил рекомендуемый код в build.gradle и подождал после синхронизации gradle. Вскоре после этого появилось следующее…

введите описание изображения здесь


Оригинальный вопрос

Я занимаюсь программированием для Android с Android Studio 0.5.9, и я хотел бы иметь несколько String операторов переключения. Я все настроил, но компилятор жалуется, что не может их обработать.

Операторы переключения строк были введены в JDK 1.7, поэтому я не понимаю, почему я не могу этого сделать.

Просто чтобы доказать, что я использую JDK 1.7, вы можете проверить изображение ниже… введите описание изображения здесь

…кроме того, на моем компьютере установлен JDK 1.8… введите описание изображения здесь

…что с этим не так?


[ОБНОВИТЬ]

Файл >> Другие настройки >> Настройки по умолчанию

введите описание изображения здесь

Файл >> Другие настройки >> Структура проекта по умолчанию

введите описание изображения здесь

Build.gradle

введите описание изображения здесь

Комментарии:

1. вы должны установить уровень языка в Intellij. Уровень стандартный 1.6. Вы найдете это в настройках проекта

2. можете ли вы углубиться? Я не вижу этого прямо сейчас

3. Я использую только Intellij, но Android studio основана на Intellij. Шаги в Intellij: 1. Файл -> Структура проекта 2. Проект 3. Уровень языка проекта.

4. Я добавил на скриншоты некоторые другие настройки, которые я видел в JDK. Все настроено на Java (JDK) 1.7

5. Ничего не получено? Повышенный голос, чтобы мы могли разобраться с этим

Ответ №1:

Пожалуйста, проверьте конфигурацию совместимости исходного кода gradle:

С Android KitKat (buildToolsVersion 19) вы можете использовать оператор diamond, multi-catch, строки в переключателях, пробовать с ресурсами и т.д. Чтобы сделать это, добавьте следующее в свой файл сборки:

 android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }

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

Обратите внимание, что вы можете использовать minSdkVersion со значением, более ранним, чем 19, для
все возможности языка, кроме попытки с ресурсами. Если вы хотите использовать
попробуйте с ресурсами, вам также нужно будет использовать minSdkVersion 19.

Вам также необходимо убедиться, что Gradle использует версию JDK 1.7 или более позднюю. (И версия 0.6.1 или более поздней плагина Android Gradle).

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1.7

Комментарии:

1. Я добавил свой код Build.gradle в виде изображения. Пожалуйста, проверьте это.

2. Кроме того, я добавил ComplileOptions и сохранил. Проблема все еще существует. Я мог бы полностью перезапустить Android Studio, просто чтобы убедиться, что это вступает в силу