मुझे आश्चर्य है कि क्यों java.util.ArrayList
जोड़ने की अनुमति देता है null
। क्या कोई मामला है जहां मैं null
एक में जोड़ना चाहूंगा ArrayList
?
मैं इस सवाल पूछ रहा हूँ क्योंकि एक परियोजना में हम एक बग जहां कुछ कोड जोड़ने था null
करने के लिए ArrayList
और यह पहचानना जहां बग था मुश्किल था। स्पष्ट रूप NullPointerException
से फेंक दिया गया था लेकिन तब तक नहीं जब तक कि अन्य कोड ने तत्व तक पहुंचने की कोशिश नहीं की। समस्या यह थी कि null
ऑब्जेक्ट को जोड़ने वाले कोड का पता कैसे लगाया जाए । यह आसान होता अगर ArrayList
उस कोड में एक अपवाद फेंक दिया जाता जहां तत्वों को जोड़ा जा रहा था।
null
है कि जावा में लापता डेटा का प्रतिनिधित्व करने का डिफ़ॉल्ट तरीका है, चाहे आप इसे पसंद करें या नहीं। वास्तव में बहुत से लोग इसे पसंद नहीं करते हैं और इसे कार्यात्मक प्रोग्रामिंग-शैली की चीजों के लिए तर्क बनाते हैं। सबसे उत्कीर्ण उत्तर कोई मतलब नहीं है / मुद्दे के सार पर कब्जा नहीं करता है।
null
है। "मिसिंग" कई संभावित व्याख्याओं में से एक है null
। अन्य मान्य व्याख्याएं "अज्ञात," "लागू नहीं" या "अनधिकृत" हो सकती हैं। क्या null
प्रतिनिधित्व करता है आवेदन पर निर्भर करता है। जैसा कि पायथन समुदाय कहता है, "अस्पष्टता के सामने, अनुमान लगाने के प्रलोभन से इनकार करें।" एक कंटेनर में नल को पकड़ने से इनकार करना जो ऐसा करने में पूरी तरह से सक्षम है, बस इतना ही होगा - एक अनुमान।
null
में अपने संग्रह के सबसे)।