Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा 9 में वैकल्पिक वर्ग में कौन से नए तरीके जोड़े गए हैं?


एक वैकल्पिक वर्ग एक कंटेनर प्रदान करता है जिसमें गैर-शून्य . हो सकता है या नहीं भी हो सकता है मूल्य। यह वैकल्पिक वर्ग जावा 8 में कोड में स्थानों की संख्या को कम करने के लिए पेश किया गया जहां NullPointerException उत्पन्न किया जा सकता है। Java 9 ने वैकल्पिक वर्ग में तीन नए तरीके जोड़े:या () , ifPresentOrElse() और स्ट्रीम () जो हमें डिफ़ॉल्ट . से निपटने में मदद करते हैं मान।

Optional.or()

या () जावा 9 में पेश की गई विधि और इस विधि का पैरामीटर एक कार्यात्मक इंटरफ़ेस है आपूर्तिकर्ता . यह विधि हमें हमेशा एक वैकल्पिक . देती है वह वस्तु जो खाली न हो। यदि वैकल्पिक वस्तु खाली नहीं है, तो यह वैकल्पिक . लौटाती है वस्तु ही। अन्यथा, यह एक वैकल्पिक वस्तु लौटाता है जिसे आपूर्तिकर्ता बनाता है।

उदाहरण

आयात करें वैकल्पिक<स्ट्रिंग> ऑप्ट =वैकल्पिक।अशक्त का (str); वैकल्पिक<स्ट्रिंग> परिणाम =ऑप्ट.या (() -> Optional.of ("आदित्य")); System.out.println (परिणाम); } }

आउटपुट

वैकल्पिक[आदित्य] 


Optional.ifPresentOrElse()

ifPresentOrElse() जावा 9 में पेश की गई विधि। यह ifPresent() . के समान है एक अंतर के साथ विधि यह है कि हमने एक और चलाने योग्य . जोड़ा है पैरामीटर। मामले में, यदि कोई वैकल्पिक ऑब्जेक्ट खाली है, चलाने योग्य . का ऑब्जेक्ट इंटरफ़ेस निष्पादित किया जा सकता है।

उदाहरण

import java.util.Optional;पब्लिक क्लास ऑप्शनलआईएफप्रेजेंटऑरएल्सटेस्ट {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {स्ट्रिंग स्ट्र =नल; वैकल्पिक<स्ट्रिंग> ऑप्ट =वैकल्पिक।अशक्त का (str); ऑप्ट.ifPresentOrElse ( x -> System.out.println (x), () -> System.out.println ("कोई मान नहीं")); }}

आउटपुट

कोई मूल्य नहीं 


Optional.stream()

Optional.stream() जावा 9 के बाद से विधि समर्थित है। इस विधि का उपयोग वैकल्पिक से एक नई स्ट्रीम ऑब्जेक्ट बनाने के लिए किया जा सकता है वस्तु। यदि किसी वैकल्पिक ऑब्जेक्ट में कोई मान होता है, तो वह उस मान वाले स्ट्रीम ऑब्जेक्ट को लौटाता है।

उदाहरण

आयात करें सूची<वैकल्पिक<स्ट्रिंग>> सूची =सूची की (वैकल्पिक.of("जय"), वैकल्पिक।खाली() , वैकल्पिक.of ("आदित्य")); स्ट्रीम<स्ट्रिंग> स्ट्रीम =सूची।स्ट्रीम ()। फ्लैटमैप (वैकल्पिक ::स्ट्रीम); स्ट्रीम.प्रत्येक के लिए (System.out::println); }}

आउटपुट

जय आदित्य 

  1. जावा 9 में @Deprecated एनोटेशन के लिए क्या सुधार हैं?

    कोई भी तत्व जिसे @Deprecated से एनोटेट किया जा सकता है यह दर्शाता है कि इस विशेष तत्व का अब निम्न कारणों से उपयोग नहीं किया जाएगा इसका उपयोग करना जोखिम भरा है और इससे त्रुटियां हो सकती हैं। भविष्य के संस्करणों में असंगत हो सकता है। भविष्य के संस्करणों में हटाया जा सकता है। एक बेहतर और अधिक कुशल समा

  1. Java में Cursor क्लास का क्या महत्व है?

    A कर्सर ऑब्जेक्ट . का उपवर्ग है वर्ग और इसे बिंदु या संकेतक . के रूप में परिभाषित किया जा सकता है स्क्रीन पर। एक कर्सर सिस्टम से इनपुट का चयन करने के लिए प्रयोग किया जाता है जिसे उपयोगकर्ता माउस . के साथ संचालित करता है . कर्सर . में उपलब्ध विभिन्न प्रकार के कर्सर वर्ग हैं DEFAULT_CURSOR, CROSSH

  1. जावा में विभिन्न प्रकार की कक्षाएं क्या हैं?

    Java में कक्षाओं के प्रकार कंक्रीट क्लास कोई भी सामान्य वर्ग जिसमें कोई अमूर्त विधि या वर्ग नहीं होता है, जिसमें अपने मूल वर्ग या इंटरफ़ेस के सभी तरीकों का कार्यान्वयन होता है और इसकी अपनी विधियाँ एक ठोस वर्ग होती हैं। उदाहरण public class Concrete { // Concrete Class    static int product(