Project sdk 1.7 с уровнем языка проекта 8

#java #intellij-idea #compiler-errors

#java #intellij-idea #ошибки компилятора

Вопрос:

Является ли следующая допустимая комбинация: Project SDK 1.7 с уровнем языка проекта 8.

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

Я продолжаю нажимать:

Ошибка: java: недопустимый исходный код версии: 1.8

Но я не хочу удалять свои лямбды.

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

1. Ну, вам нужен SDK 1.8 для использования Java 8 (кажется логичным). Кстати, это может быть предупреждено IDE

2. Вы не можете использовать функции, которых нет в SDK. Если вы хотите, чтобы лямбды работали, ваш SDK также должен быть 1.8. SDK не совместимы с пересылкой.

3. Меня озадачивает, что Intellij позволяет это.

4. Почему голосование против? То, что IntelliJ позволяет это, очень сбивает с толку, так что это справедливый вопрос, верно?

Ответ №1:

Не совсем уверен, почему какая-либо среда IDE позволит вам выбрать такую комбинацию (возможно, стоит сообщить об ошибке в ней), поскольку это недопустимая комбинация. Вы не можете использовать языковые возможности из более высокой версии, чем ваш SDK — компилятор просто не будет знать, как обращаться с новым синтаксисом.