IntelliJ не отмечает возможности Java 11 при использовании уровня языка Java 10 - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть проект в IntelliJ IDEA, который компилируется с JDK 11, но нацелен на уровень языка Java 10.

Моя проблема в том, что IntelliJ позволяет мне использовать, даже предлагает в автозаполнении, функции Java 11, такие как Optional#isEmpty.

Нет никаких признаков того, что я что-то сделал не так, пока я не соберусь и компилятор не пожалуется.

Поскольку я ориентируюсь на уровень языка Java 10, я ожидал, что IntelliJ не будет предлагать Java11+ функций.Есть ли параметр, который я пропускаю, или мои ожидания слишком высоки?


В структуре проекта -> Настройки проекта -> Проект:
Project SDK - 11 и Project Language Level - 10.
Для всех модулей установлен уровень языка "Проект по умолчанию (10 - вывод типа локальной переменной)" .

В настройках -> Построение, выполнение, развертывание -> Компилятор ->Компилятор Java:
Версия байт-кода проекта в целом равна 10, и для каждого модуля.

В Gradle у меня есть:

sourceCompatibility = JavaVersion.VERSION_1_10
targetCompatibility = JavaVersion.VERSION_1_10

Я использую IntelliJ IDEA 2018.3 (Ultimate Edition) Build# IU-183.4284.148

...