यह JEP 302 का चरण 2 है , जो लंबोदर अभिव्यक्तियों में अप्रयुक्त मापदंडों को निरूपित करने के लिए एक विशेष चरित्र के रूप में अंडरस्कोर जोड़ने जा रहा है।
अंडरस्कोर का उपचार
कई भाषाओं में, एक अंडरस्कोर का उपयोग करना आम है (_
एक अनाम लंबर पैरामीटर (और इसी तरह विधि और अपवाद मापदंडों के लिए) को निरूपित ) :
BiFunction<Integer, String, String> biss = (i, _) -> String.valueOf(i);
यह अप्रयुक्त तर्कों की मजबूत स्थैतिक जाँच की अनुमति देता है, और कई तर्कों को अप्रयुक्त के रूप में चिह्नित करने की अनुमति देता है। हालाँकि, क्योंकि अंडरस्कोर जावा 8 के रूप में एक वैध पहचानकर्ता था, इसलिए संगतता को हमें अप्रत्यक्ष पथ पर ले जाने की आवश्यकता थी, जहाँ अंडरस्कोर जावा में इस भूमिका को निभा सके। चरण 1 जावा 8 में लैम्बडा औपचारिक पैरामीटर नाम के रूप में अंडरस्कोर को मना कर रहा था (इसका कोई संगतता परिणाम नहीं था, क्योंकि लैम्ब्डा पहले मौजूद नहीं था) और अन्य स्थानों में पहचानकर्ता के रूप में अंडरस्कोर का उपयोग करने के लिए चेतावनी जारी की गई थी। चरण 9 जावा 9 में आया, जब यह चेतावनी एक त्रुटि बन गई। अब हम अप्रयुक्त के लंबित पुनर्वास को पूरा करने के लिए स्वतंत्र हैं, एक अप्रयुक्त लैम्ब्डा, विधि, या औपचारिक पैरामीटर को पकड़ने के लिए।
_
किसी भी कानूनी पहचानकर्ता के नाम के रूप में और न केवल एक लंबोर्ड पैरामीटर नाम के रूप में अस्वीकृत किया जाएगा। यह वास्तव में 43 के निर्माण में तय किया गया था: Bugs.openjdk.java.net/browse/JDK-8061549