2010-06-09 8 views
8

हाय मैं उपर्युक्त तुलनाओं के बीच अंतर जानना चाहता हूं?शून्य == ऑब्जेक्ट और ऑब्जेक्ट के बीच अंतर == शून्य

जब मैं object.getItems() == null चेक करता हूं तो मुझे शून्य सूचक अपवाद मिल रहा है। लेकिन अगर मैं इसे null == object.getItems() पर बदलता हूं, तो यह ठीक काम करता है।

मैंने इस what is the difference between null != object and object!=null पर देखा लेकिन मुझे संतोषजनक उत्तर नहीं मिला।

+11

नहीं, एनपीई फेंक दिया गया है या नहीं, तो वह परिवर्तन नहीं बदलेगा। अपनी धारणाओं को फिर से जांचें, क्योंकि उन दो अभिव्यक्ति समकक्ष हैं। –

+0

मुझे एनपीई दोनों तरीकों से मिलता है। जब आप इसे आज़माते हैं तो ऑब्जेक्ट ठीक है, ऑब्जेक्ट? –

+0

कृपया पूरा जावा कथन पोस्ट करें, शायद समस्या सिर्फ एक गलत स्थान/गायब ब्रैकेट है। –

उत्तर

13

(इसी प्रकार के प्रश्न: Which is more effective: if (null == variable) or if (variable == null)?) बातिल के बीच

अंतर == वस्तु और वस्तु == बातिल

कोई semantical अंतर है।

object.getItems() == null और null == object.getItems() समकक्ष हैं।

शायद आप इसे मिश्रण कर रहे हैं तथ्य यह है कि के साथ

nonNullObj.equals(obj) 

और

obj.equals(nonNullObj) 

एक फर्क कर सकते हैं (के बाद से दूसरा विकल्प मामले में एक एनपीई में परिणाम सकता है कॉल प्राप्त करने वाला रिक्त है)।

+0

दूसरा अभिव्यक्ति एनपीई – Pedantic

+0

@ रोजर का कारण क्या है, यदि ओबीजी शून्य है, तो .equals विधि कॉल का परिणाम एनपीई होगा। – aioobe

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^