127 का शाब्दिक प्रकार इंट का मान दर्शाता है। तो शाब्दिक है 1. इन दोनों का योग पूर्णांक 128 है। समस्या, दूसरे मामले में, यह है कि आप इसे टाइप बाइट के एक चर के लिए असाइन कर रहे हैं। इसका भावों के वास्तविक मूल्य से कोई लेना-देना नहीं है। यह जावा के साथ सहकारिता (*) का समर्थन नहीं करना है। आपको एक टाइपकास्ट जोड़ना होगा
byte b = (byte)(127 + 1);
और फिर यह संकलन करता है।
(*) कम से कम तरह के स्ट्रिंग-टू-पूर्णांक, फ्लोट-टू-टाइम, ... जावा का समर्थन नहीं करता है यदि वे एक अर्थ में, गैर-नुकसान (जावा इस "चौड़ीकरण" कहते हैं)।
और नहीं, शब्द "जबरदस्ती" को सही करने की आवश्यकता नहीं थी। यह बहुत जानबूझकर और उस पर सही ढंग से चुना गया था। निकटतम स्रोत से हाथ तक (विकिपीडिया): "अधिकांश भाषाओं में, शब्द जबरन का उपयोग निहित रूपांतरण को दर्शाने के लिए किया जाता है , या तो संकलन के दौरान या रन टाइम के दौरान।" और "कंप्यूटर विज्ञान में, टाइप रूपांतरण, टाइपकास्टिंग और जबरदस्ती के अलग - अलग तरीके हैं, संक्षेप में या स्पष्ट रूप से, एक डेटा प्रकार की इकाई को दूसरे में बदलना।"
byte
डेटा प्रकार ऐसा दर्द क्यों है ?!