इसके लिए कुछ व्यावहारिक कारण हैं। पहला सी से सी है:
if(x = NULL) { ... }
... (कृपया ध्यान एकल =
) एक गलती कुछ डेवलपर्स गलती कर सकता है है।
if(NULL = x) { ... }
... एक संकलक त्रुटि का कारण बनता है। तो अगर आप पहले null
डालने की आदत में हैं, तो यह गलती करना मुश्किल है।
हालांकि इस तर्क !=
पर लागू नहीं होता है, तो एकमात्र कारण डाल null
पहले स्थिरता के लिए है जारी रखने के लिए।
... और जावा if(x = null)
में एक कंपाइलर त्रुटि भी है क्योंकि जावा किसी मान में असाइनमेंट का मूल्यांकन नहीं करता है।
एक और स्थिति है जिसमें "उम्मीद" डालने से पहले "वास्तविक" आम है है, और वह यह है कि:,
if("expected string".equals(string)) { ... }
क्योंकि "expected string"
निश्चित रूप से null
नहीं है इस NullPointerException
जब string == null
नहीं कर सकते हैं, जबकि string.equals("expected string")
होगा।
तो, कुछ प्रोग्रामर पहले अपेक्षित मूल्य डालने की आदत में आते हैं।
मेरी अपनी पसंद किसी ऐसी चीज के लिए है जो अंग्रेजी वाक्य के समान पढ़ती है, और मेरे लिए: if(x == null)
उस सम्मान में बेहतर है।
छोटी सी चीजें और टाइपो पकड़ने के लिए हम जो कुछ चाल करते थे, उन्हें पहले स्थान पर नल से बचकर और final
चर के उचित उपयोग से यूनिट-परीक्षण आदतों द्वारा कम आवश्यक किया जाता है।
पोस्ट के विवरण में देखें http://stackoverflow.com/questions/10983573/checking-for-null-what-order विधि 2 बेहतर होने का कारण यह है कि जब आप गायब हो जाते हैं तो आपको एक कंपाइलर त्रुटि मिलती है एक "="। –
@ रेनेम। लेकिन हम यहां जावा के बारे में बात कर रहे हैं। यहां तक कि 'अगर (test = null)' एक कंपाइलर त्रुटि देगा क्योंकि यह एक बुलियन नहीं है ... – Imus
@ReneM। यह एक असमान जांच है यदि आप बराबर चिह्न भूल जाते हैं तो आपको 'test1 मिलता है! शून्य ' – Jens