क्या कोई कारण / परिस्थिति होगी जिसके लिए मुझे एक कथन में Objects.isNull () पर ऑब्जेक्ट == null का उपयोग करना चाहिए ?
हां, इसका एक कारण कोड को सरल रखना है। भीतर अगर बयान object == null
स्पष्ट और अच्छी तरह से जाना जाता है। यह किसी भी दुर्व्यवहार को जन्म नहीं दे सकता है यदि उदाहरण के लिए एक टाइपो है।
मेरी समझ यह है कि Objects.isNull () गलती से दूसरे को छोड़ कर ऑब्जेक्ट को अशक्त मान देने का मौका हटा देगा =।
यदि वहाँ एक if (object = null) {}
साथ छोड़े गए =
यह संकलन नहीं होगा या इसे करने के मामले में चेतावनी उत्पन्न होगा Boolean
वस्तु! असल में वहाँ का उपयोग करने का कोई कारण नहीं है Objects.isNull(object)
से अधिक object == null
के भीतर अगर बयान । यहाँ दो पक्ष अलग-अलग हैं:
if (object == null) {
}
if (Objects.isNull(object)) {
}
क्या Objects.isNull () को केवल विशेष रूप से समर्पित किया जाना चाहिए?
इसे हां कहा जा सकता है, यह विशेष रूप से Predicates तक ही सीमित है, हालांकि Objects.isNull()
हर जगह उपयोग करने के लिए कोई तकनीकी बाधा नहीं है।
से public static boolean isNull(Object obj)
विधि के जावाडोक:
@apiNoteThis विधि का उपयोग java.util.function.Predicate, फ़िल्टर (ऑब्जेक्ट ::Null) के रूप में किया जाता है
इसलिए यदि आप इस पद्धति का उपयोग करते हैं न कि एक विधेय के रूप में आप वास्तव में सरल की तुलना में अधिक जटिल और बोझिल अभिव्यक्ति का उपयोग कर रहे हैं object == null
।
यहाँ एक स्निपेट है जिसके लाभ की तुलना करना है Objects.isNull(object)
List<String> list = Arrays.asList("a", "b", null, "c", null);
long countNullsWithPredicate = list.stream().filter(Objects::isNull).count();
long countNullsWithLambda = list.stream().filter(object -> object == null).count();
long countNullsWithAnonymous = list.stream().filter(new Predicate<Object>() {
@Override
public boolean test(Object obj) {
return obj == null;
}
}).count();
if(null == variable)
लगातार उपयोग कर सकते हैं ...