निम्नलिखित उदाहरण में
int i = -128;
Integer i2 = (Integer) i; // compiles
Integer i3 = (Integer) -128; /*** Doesn't compile ***/
Integer i4 = (Integer) (int) -128; // compiles
Integer i4 = -128; // compiles
Integer i5 = (int) -128; // compiles
Integer i6 = (Integer) (-128); // compiles
Integer i7 = (Integer) 0-128; // compiles
मैं -128साथ नहीं डाल सकता (Integer)लेकिन मैं कास्ट कर सकता हूं (int) -128।
मैं हमेशा सोचता -128था कि intयह टाइप का है और इसके साथ कास्टिंग (int)करना बेमानी होना चाहिए।
के साथ लाइन पर त्रुटि i3है
cannot find symbol variable Integer
मैंने जावा 6 अपडेट 29 और जावा 7 अपडेट 1 के साथ यह कोशिश की।
संपादित करें: आप के साथ समान व्यवहार प्राप्त +128करने के बजाय -128। यह यूनरी और बाइनरी ऑपरेटरों के बीच भ्रम की स्थिति प्रतीत होती है।
Integer i3 = (Integer) (-128);यद्यपि , अनुपालन होता है।
Expression expectedवह Integerहै।
Integer i = -128;हालांकि यह संकलन करना चाहिए।