Я хотел бы оценить код, включая выражение лямбда, с функцией Intellij 'Evaluate Code Fragment'. В таком случае Intellij вызывает ошибку. Unable to compile for target level 1.8. Need to run IDEA on java version at least 1.8, currently running on 1.6.0_65-b14-462-11M4609
IntelliJ: оценить выражение lambda вызывает ошибку компиляции при отладке
Оценка является очень простой, как показано ниже.
Set<Integer> set = new HashSet<>();
set.add(1);
set.stream().map(v->v).collect(Collectors.toSet());
Моя Intellij версия 14.0.3 и в соответствии с official document, версия 14 поддерживает оценку лямбда-выражения.
Как можно использовать эту функцию?
Похоже, это ошибка: https://youtrack.jetbrains.com/issue/IDEA-132099 вызвано тем, что IntelliJ работает на 1.6 (Apple JDK, я думаю), но проект использует JDK 1.8. Таким образом, решение заключается в том, чтобы IntelliJ использовал JDK 1.8, но в последнее время я слышал, что на Mac были проблемы с производительностью. Однако это, возможно, уже было исправлено .... –
Ответ Богуслава работал до сих пор. Чтобы изменить JDK, я выполнил [эти инструкции] (https://intellij-support.jetbrains.com/hc/en-us/articles/206827547-Selecting-the-JDK-version-the-IDE-will-run- под). На моем Mac я изменил Info.plist следующим образом: ' JVMVersion 1.8 * '. Кажется, все в порядке. Теперь можно выполнить lambdas в режиме отладки. –