मैं तकनीकी रूप से सभी उत्तरों को स्वीकार करता हूं। व्यावहारिक रूप से मैं उन कोडों में से किसी का भी उपयोग नहीं करूँगा जो मेरे नियंत्रण में हैं क्योंकि सभी प्रदत्त समाधान मुख्य समस्या के आसपास काम कर रहे हैं: शून्य-मान। अपने कोर मॉडल को नल मूल्यों से मुक्त रखें, और इस मामले में प्रश्न अप्रचलित है।
सिस्टम सीमाओं जैसे तृतीय पक्ष पुस्तकालयों को कभी-कभी शून्य मानों से निपटना पड़ता है। उन्हें कोर मॉडल के लिए सार्थक मूल्यों में परिवर्तित करना चाहिए। वहां दिए गए समाधान उपयोगी हैं।
भले ही ओरेकल बराबर-सुरक्षित होने के तरीकों की सिफारिश करता है, इसके बारे में सोचें: एक बार जब आप अपने मॉडल को शून्य मान स्वीकार करते हैं तो यह नाजुक हो रहा है। बराबर विधि अंतिम विधि नहीं होगी जहां आप शून्य की जांच करेंगे। आपको अपने विधि कॉल पदानुक्रम में नल-चेक प्रबंधित करना होगा। विधियों को अब बॉक्स से बाहर नहीं किया जा सकता है। जल्द ही, प्रत्येक पैरामीटर को शून्य के लिए चेक किया जाएगा।
मैं दोनों पक्षों देखा:
एक तरफ अशक्त चेक, तरीकों कि एक एकल पैरामीटर अब और नहीं पर भरोसा और डेवलपर्स कि एक अशक्त जांच भूल डरते हैं से भरा कोड पर।
दूसरी तरफ पूर्ण अभिव्यक्तिपूर्ण बयान वाले कोड जो पूर्ण कार्य करने वाली वस्तुओं के स्पष्ट निष्कर्ष निकालते हैं जिनका उपयोग NullPointerExceptions के डर के बिना किया जा सकता है।
मुझे लगता है कि आपको यह धागा उपयोगी लगेगा: http://stackoverflow.com/questions/271526/how-to-avoid-null-statements-in-java – hovanessyan
दिलचस्प, सुनिश्चित करें। उपयोगी ... व्यक्तिगत रूप से यह अधिकतर उठाए गए प्रश्न: पी – Svish