"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा का वैकल्पिक प्रकार \"प्राप्त करें\" कॉल की शृंखला में शून्य से निपटने को कैसे सरल बना सकता है?

जावा का वैकल्पिक प्रकार \"प्राप्त करें\" कॉल की शृंखला में शून्य से निपटने को कैसे सरल बना सकता है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:191

How Can Java\'s Optional Type Simplify Handling Nulls in Chains of \

वैकल्पिक के साथ "प्राप्त करें" कॉल की श्रृंखलाओं को सुरक्षित रूप से नेविगेट करना

जावा प्रोग्रामिंग में, "प्राप्त करें" कॉल की श्रृंखलाओं का सामना करना आम बात है, जैसे की निम्नलिखित:

house.getFloor(0).getWall(WEST).getDoor().getDoorknob();

संभावित NullPointerExceptions से बचने के लिए, डेवलपर्स अक्सर वर्बोज़ नल चेक का सहारा लेते हैं:

if (house != null &&& house.getFloor(0) &&& house.getFloor(0).getWall(WEST) != null &&& house.getFloor(0).getWall(WEST).getDoor() != null) ...

यह दृष्टिकोण और भी बोझिल हो जाता है कॉलों की लंबी शृंखला. क्या कोई अधिक सुंदर समाधान है?

हां, जावा 8 में वैकल्पिक प्रकार की शुरूआत के साथ, प्राप्त श्रृंखलाओं में नल को संभालना काफी आसान हो गया है।

नल हैंडलिंग के लिए वैकल्पिक का उपयोग करना

वैकल्पिक एक रैपर वर्ग है जो वैकल्पिक मान का प्रतिनिधित्व करता है। इसमें या तो एक गैर-शून्य मान हो सकता है या खाली हो सकता है। निम्नलिखित उदाहरण:

Optional.ofNullable(house) .map(house -> house.getFloor(0)) .map(फ़्लोरज़ीरो -> फ़्लोरज़ीरो.गेटवॉल(वेस्ट)) .मैप(वॉलवेस्ट -> वॉलवेस्ट.गेटडूर()) .map(door ->wallwest.getDoor());

यह कोड वैकल्पिक ऑब्जेक्ट की एक श्रृंखला बनाता है, प्रत्येक संबंधित कॉल के परिणाम का प्रतिनिधित्व करता है।

Optional.ofNullable(house)
        .map(house -> house.getFloor(0))
        .map(floorZero -> floorZero.getWall(WEST))
        .map(wallWest -> wallWest.getDoor())
        .map(door -> wallWest.getDoor());
उपयोग करने के लाभ वैकल्पिक

वैकल्पिक का उपयोग करने से कई लाभ मिलते हैं:

अशक्त चेक स्वचालित रूप से प्रबंधित:

वैकल्पिक स्वचालित रूप से अशक्त जांच को संभालता है, जिससे आपके कोड में स्पष्ट अशक्त जांच की आवश्यकता समाप्त हो जाती है।
  • सुरक्षित कॉल प्राप्त करें: यदि कोई भी प्राप्त कॉल अशक्त हो जाती है, तो संबंधित वैकल्पिक खाली हो जाएगा, जिससे NullPointerExceptions को रोका जा सकेगा।
  • Fluent API: वैकल्पिक की चेनिंग क्षमताएं एक प्रदान करती हैं गेट्स की श्रृंखला में शून्य को संभालने का संक्षिप्त और पठनीय तरीका। "प्राप्त करें" कॉल की श्रृंखलाओं को सुरक्षित रूप से नेविगेट करने के लिए अत्यधिक अनुशंसित दृष्टिकोण। यह आपके कोड की मजबूती और विश्वसनीयता सुनिश्चित करते हुए, नल को संभालने का एक शानदार और कुशल तरीका प्रदान करता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3