को जावा में कास्टिंग क्यों हम किसी भी विधि का एक short
पैरामीटर स्वीकार करता है करने के लिए एक तर्क के रूप में एक char
मूल्य पारित नहीं हो सकता है, जबकि हम एक और तरीका जिसका पैरामीटर int
प्रकार की है करने के लिए एक char
मूल्य पारित कर सकते हैं? प्रकार का कास्टिंग char
से short
तक क्यों नहीं होता है, यह देखते हुए कि आकार बराबर हैं? मुझे उम्मीद है कि शॉर्ट short
कर सकते हैं जितना मूल्य भी स्टोर कर सकते हैं।प्रकार चार से कम
उत्तर
क्यों हम किसी भी पद्धति के लिए एक तर्क यह है कि एक
short
पैरामीटर
स्वीकार करता है क्योंकि वहाँ कोई अंतर्निहित एक मंगलाचरण संदर्भ में short
को char
से रूपांतरण के रूप में एक char
मूल्य पारित नहीं कर सकते हैं।
जबकि हम एक और तरीका जिसका पैरामीटर
int
प्रकार की है करने के लिए एकchar
मूल्य पारित कर सकते हैं?
ऐसा इसलिए है क्योंकि वहाँ एक मंगलाचरण संदर्भ में एक अंतर्निहित रूपांतरण int
को char
से उपलब्ध है।
कास्टिंग
short
कोchar
से नहीं हो, यह देखते हुए कि आकार के बराबर हैं क्यों टाइप करता है? मुझे उम्मीद है कि शॉर्टshort
कर सकते हैं जितना मूल्य भी स्टोर कर सकते हैं।
हालांकि char
और short
ही आकार हैं, char
अहस्ताक्षरित है जबकि short
हस्ताक्षरित है। यही कारण है कि char
से short
तक कोई अंतर्निहित रूपांतरण नहीं है।
int
को char
से रूपांतरण एक आदिम रूपांतरण (JLS 5.1.2) short
को char
से रूपांतरण जबकि चौड़ा है एक आदिम रूपांतरण (JLS 5.1.3) संकुचन है। विशेष रूप से (जोर मेरा):
एक अभिन्न प्रकार टी करने के लिए एक चार की एक संकुचन रूपांतरण वैसे ही बस को छोड़ देता है सब लेकिन n न्यूनतम आदेश बिट्स, जहां n प्रकार टी का प्रतिनिधित्व करने के लिए इस्तेमाल किया बिट्स की संख्या है संख्यात्मक मूल्य की परिमाण के बारे में जानकारी के संभावित नुकसान के अतिरिक्त, इससे परिणामस्वरूप मान ऋणात्मक संख्या हो सकता है, भले ही वर्ण 16-बिट हस्ताक्षरित पूर्णांक मानों का प्रतिनिधित्व करते हैं।
जावा विनिर्देश का कहना है:
इसके अलावा, अगर अभिव्यक्ति प्रकार बाइट की एक निरंतर अभिव्यक्ति (§15.28), छोटा है, चार, है या int:
एक आदिम संकुचन रूपांतरण का उपयोग किया जा सकता है यदि चर का प्रकार बाइट, शॉर्ट, या चार है, और निरंतर अभिव्यक्ति का मान चर के प्रकार में प्रतिनिधित्व योग्य है।
चार का न्यूनतम मान 0 और 65,535 का अधिकतम मूल्य है।
लघु का न्यूनतम मूल्य -32,768 है और अधिकतम मूल्य 32,767 है।
इंटीजर का न्यूनतम मूल्य -2,147,483,648 है और अधिकतम मूल्य 2,147,483,647 है।
तो चार पूर्णांक में फिट हो सकता है लेकिन संक्षेप में नहीं, यही कारण है कि आपको जावा को आश्वस्त करना चाहिए कि आप यहां टाइपकास्ट करना चाहते हैं।
छोटा और साथ ही पूर्णांक दोनों हस्ताक्षर और हस्ताक्षरित मान रख सकते हैं लेकिन पूर्णांक के मामले में कास्टिंग टाइप कर रहे हैं लेकिन –
हां में नहीं। चार का न्यूनतम मान 0 और 65,535 का अधिकतम मूल्य है। शॉर्ट का न्यूनतम मान -32,768 है और अधिकतम मूल्य 32,767 है। इंटीजर का न्यूनतम मूल्य -2,147,483,648 है और अधिकतम मूल्य 2,147,483,647 है। तो चार पूर्णांक में फिट हो सकता है लेकिन संक्षेप में नहीं। – Max
हाँ ... मुझे मिल गया। बहुत कुछ धन्यवाद –
- 1. डेटा प्रकार बाइट, चार और कम आवश्यक
- 2. स्कैला प्रकार: कम से कम ऊपरी सीमा
- 3. चार प्रकार Incrementing जावा
- 4. सी चार से चार *
- 5. कम से कम
- 6. प्रारूप '% s' प्रकार के 'चार *'
- 7. कम विशिष्ट पैरामीटर प्रकार
- 8. कम विशिष्ट पैरामीटर प्रकार
- 9. चार सरणी से बूल
- 10. एसीआई चार [] से हेक्साडेसिमल चार [] में सी
- 11. Lucene.Net TermRangeQuery से कम/कम से कम?
- 12. स्थिरांक चार * और चार *
- 13. कास्टिंग चार [] [] से चार ** segfault का कारण बनता है?
- 14. कम से कम यूआरएल
- 15. कम से कम
- 16. कम से कम
- 17. जावा UTF8 एन्कोडिंग - चार, स्ट्रिंग प्रकार
- 18. [] बाइट से चार *
- 19. सीएसटींग से चार *
- 20. चार सरणी वी.एस. चार *
- 21. सी ++: चार ** चार ** रूपांतरण
- 22. सी चार को चार *
- 23. संभावित रूप से नल चार सूचक
- 24. कम से कम एक चेक
- 25. पीएचपी कम से कम/सरणी
- 26. mongoDB मानचित्र/कम से कम
- 27. अस्वीकरण: कम से कम एक
- 28. जुनीट: कम से कम दावा?
- 29. एसक्यूएल क्वेरी कम से कम
- 30. कम से कम एंड्रॉयड GLSurfaceView
मैंने अंग्रेजी के रूप में बेहतर पढ़ने के लिए अधिकांश प्रश्नों को ठीक कर दिया है, लेकिन मुझे अंतिम वाक्य को समझ में नहीं आया: "मुझे उम्मीद है कि शॉर्ट कम से कम पर्याप्त मूल्यों को भी स्टोर कर सकता है" इसलिए मैंने इसे छोड़ दिया है यह था ... –