निम्नलिखित उदाहरण में
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;
हालांकि यह संकलन करना चाहिए।