मेरे पास यह कोड है:गैर-प्रारंभिकरण के बीच क्या अंतर है और शून्य में प्रारंभ करना है?
MyClass object;
.... some code here where object may or may not be initialised...
if (object.getId > 0) {
....
}
जिसके परिणामस्वरूप संकलन त्रुटि होती है: object
प्रारंभ नहीं किया जा सकता है, जो पर्याप्त है।
अब मैं अपना कोड इस पर बदलता हूं:
MyClass object;
.... some conditional code here where object may or may not be initialised...
if (object != null && object.getId > 0) {
....
}
मुझे एक ही संकलन त्रुटि मिलती है! मुझे object
को शून्य में प्रारंभ करना है:
MyClass object = null;
तो किसी ऑब्जेक्ट को प्रारंभ करने और शून्य करने के बीच प्रारंभ करने के बीच क्या अंतर है? अगर मैं बिना किसी प्रारंभ के ऑब्जेक्ट घोषित करता हूं तो क्या यह वैसे भी शून्य नहीं है?
धन्यवाद
कि हालांकि मेरे सवाल है: "अशक्त" एक मूल्य है? मैं हमेशा इसे (शायद बेवकूफ) मानता हूं "कोई मूल्य नहीं", इसलिए गैर-प्रारंभिकता के बराबर। –
उस बारे में पता नहीं था। अब मैंने आज भी कुछ नया सीखा है :) – Nailuj
@ रिचर्ड: शून्य निश्चित रूप से एक मूल्य है। यह वह मान है जो किसी ऑब्जेक्ट को संदर्भित नहीं करता है। "निश्चित रूप से असाइन नहीं किया गया" और "निश्चित रूप से असाइन किया गया है, शून्य के मूल्य के साथ" के बीच एक अंतर है। –