जवाबों:
अपना कोड निष्पादित करते समय, जावा रनटाइम निम्नलिखित करता है:
दूसरे शब्दों में, null को समस्या के बिना Integer में डाला जा सकता है, लेकिन अशक्त पूर्णांक ऑब्जेक्ट को प्रकार int के मान में नहीं बदला जा सकता है।
संपादित करें
स्टैक ओवरफ्लो में मैंने कुछ समय पहले एक संबंधित प्रश्न किया था, यहां देखें ।
जावा सफलतापूर्वक एक पूर्णांक संदर्भ के लिए अशक्त बनाता है जो किसी वस्तु का संदर्भ नहीं देता है।
यह ठीक है क्योंकि असंबद्ध होना एक संदर्भ के लिए एक वैध स्थिति है।
यह एक गैर मौजूदा वस्तु की एक विधि का आह्वान है जिसे प्रदर्शन नहीं किया जा सकता है।
कलाकारों (Integer)null
का प्रदर्शन एक पूर्णांक चर घोषित करने और फिर इसे एक नया (या पहले से मौजूद) पूर्णांक ऑब्जेक्ट उदाहरण में विफल करने के समान है।
वास्तव में बराबर है , यानी में Integer
एक unbox करने के लिए ; जहां जैसा है लेकिन है ; फेंकता है क्योंकि तब बराबर होता है जो फेंकता है a ।int
int i = new Integer(15);
i
new Integer(15).intValue()
i = (Integer) o
Object o = 15
o = Integer.valueOf(15);
i = null
NullPointerException
i
null.intValue()
NullPointerException
valueOf()
बॉक्सिंग के लिए नए उदाहरण बनाने के बजाय कारखाने के तरीकों का उपयोग करता है ।