Long foo = 4;
का अर्थ है: वर्ग Long
की एक वस्तु के मूल्य 4 के एक int
आवंटित। यह ऐसा करने और विफल होने के लिए ऑटोबॉक्सिंग का उपयोग करने का प्रयास करेगा, क्योंकि ऑटोबॉक्सिंग केवल उपयुक्त आदिम के लिए लागू होती है। यह दो तरह से ठीक किया जा सकता: पहले मामले में
Long foo = (long) 4;
Long foo = 4L;
आप 4. करने के लिए डाली दूसरी में, आप एक लंबे प्रदान करते हैं।
प्रश्न का उत्तर देने के लिए: जावा ऑटो-कास्टिंग का समर्थन नहीं करता है और बहुत टाइपिंग में सख्त है, शायद यही कारण है कि यह स्वचालित रूप से इसका समर्थन नहीं करता है।
स्रोत
2012-12-17 13:31:08
अच्छा सवाल। मुझे आश्चर्य है कि क्या इससे कुछ अस्पष्टताएं पैदा होंगी। (+1) – NPE
तकनीकी रूप से, 'लंबे foo = 4' का संकलन समय पर मूल्यांकन नहीं किया जा सकता है। –
आप ऑटोबॉक्सिंग के साथ रूपांतरण को मिलाते हैं। – Bevor