संभावित डुप्लिकेट:जावा ऑटो मुक्केबाजी/unboxing wierdness
Integer test = null; Integer test2 = true ? test : 0; System.out.println(test2);
सही ढंग से मुद्रित करने के लिए "शून्य:
Booleans, conditional operators and autoboxing
Java, Google Collections Library; problem with AbstractIterator?
नीचे कोड एक एनपीई पैदा करता है "अपवाद के बिना इस कोड की आवश्यकता है:
Integer test = null;
Integer test2 = true ? test : (Integer)0;
System.out.println(test2);
यह पहला उदाहरण है कि "परीक्षण" को अनबॉक्स किया गया है (देशी int में परिवर्तित), लेकिन क्यों? और टर्नरी ऑपरेटर में दूसरी अभिव्यक्ति को क्यों बदलता है (जैसा कि दूसरे उदाहरण में) इसे ठीक करता है? क्या कोई भी इस तरह की कथा प्रदान कर सकता है कि वास्तव में कब, क्या, और क्यों दोनों उदाहरणों में सामान बॉक्सिंग और अनबॉक्स किए गए हैं?
देखें http://www.mail-archive.com/[email protected]/msg32723.html – Adam
या [जावा, Google संग्रह लाइब्रेरी; सार तत्व के साथ समस्या? ] (http://stackoverflow.com/questions/1821510/java-google-collections-library-problem-with-abstractiterator), जो विशेष रूप से 'int' के बारे में है। –
फिर भी किसी ने भी जवाब नहीं दिया है (इस विशिष्ट उदाहरण के लिए) कब और क्या बॉक्सिंग और ऑटोबॉक्साइड हो जाता है। पहले में – GreenieMeanie