कुछ टाइपिंग और मेरे कोड को स्पष्ट करने के लिए, क्या निम्न विधि का मानक संस्करण है?क्या कोई जावा मानक "शून्य या बराबर" स्थैतिक विधि है?
public static boolean bothNullOrEqual(Object x, Object y) {
return (x == null ? y == null : x.equals(y));
}
कुछ टाइपिंग और मेरे कोड को स्पष्ट करने के लिए, क्या निम्न विधि का मानक संस्करण है?क्या कोई जावा मानक "शून्य या बराबर" स्थैतिक विधि है?
public static boolean bothNullOrEqual(Object x, Object y) {
return (x == null ? y == null : x.equals(y));
}
जावा 7 के साथ अब आप सीधे एक अशक्त सुरक्षित कर सकते हैं के बराबर होती है:
यह विधि गूगल्स निर्भरता इंजेक्शन-लाइबेरी गुइस में भी लागू की गई है। – Niels
वसंत भी इसी तरह की विधि लागू करता है: ऑब्जेक्ट यूटिल्स क्लास – jpsstavares
Google गुवा में ऑब्जेक्ट्स .equals() के साथ भी nullSafeEquals। – Spina
अगर कुछ संयोग से आप जकार्ता कॉमन्स लाइब्रेरी का उपयोग नहीं है ObjectUtils.equals() और अन्य उपयोगी कार्यों के बहुत सारे हैं।
संपादित करें: सवाल शुरू में
नहीं, मैं हर परियोजना मैं मुझे लगता है कि पर किया गया है पर अपने ही लिखा है पढ़ने में भूलना।
आप कर रहे हैं (जकार्ता कॉमन्स पुस्तकालय ObjectUtils.equals() जावा 7 के साथ अप्रचलित हो गया है) < 1.7 का उपयोग करके, लेकिन गुवा उपलब्ध है: Objects.equal(x, y)
बस मेरे दो सेंट। मैं उपयोग करूंगा: सार्वजनिक स्थैतिक बुलियन दोनों नलऑरक्वाल (ऑब्जेक्ट एक्स, ऑब्जेक्ट वाई) { रिटर्न (x == y || (x! = Null && x.equals (y))); } आईएमएचओ, यह नौसिखिया प्रोग्रामर के लिए अधिक पठनीय है। –
क्या कोई कह सकता है कि ऐसी चीज उपयोगी है? – anjanb
यह आपको अपने बराबर() विधि में शून्य जांच को छोड़ने की अनुमति देता है। –