डीबगिंग में एक संकलन त्रुटि को बढ़ाता है मैं इंटेलिज 'मूल्यांकन कोड फ्रैगमेंट' सुविधा के साथ लैम्ब्डा अभिव्यक्ति सहित कोड का मूल्यांकन करना चाहता हूं। लेकिन फिर, इंटेलिज ने एक त्रुटि 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 पर चल रहा है (ऐप्पल जेडीके मुझे लगता है) लेकिन परियोजना जेडीके 1.8 का उपयोग करती है। तो समाधान इंटेलिजे जेडीके 1.8 का उपयोग करना है, लेकिन आखिरकार मैंने सुना कि मैक पर इसके साथ कुछ प्रदर्शन समस्याएं थीं। हालांकि यह पहले ही तय हो चुका है .... –
बोहुस्लाव के उत्तर ने अब तक मेरे लिए काम किया है। जेडीके को बदलने के लिए, मैंने [इन निर्देशों का पालन किया] (https://intellij-support.jetbrains.com/hc/en-us/articles/206827547- चयन- the-JDK-version-the-IDE-will-run- के अंतर्गत)। मेरे मैक पर, मैंने Info.plist को बदल दिया: ' JVMVersion 1.8 * '। ठीक लगता है। डीबग मोड में अब lambdas निष्पादित कर सकते हैं। –