मैं समझ नहीं पा रहा हूं कि इंटीजर के लिए जावा कॉन्स्टेंट पूल कैसे काम करता है।इंटीजर निरंतर पूल का व्यवहार 127 पर क्यों बदलता है?
मैं स्ट्रिंग्स के व्यवहार को समझता हूं, और इसलिए खुद को औचित्य देने में सक्षम हूं कि यह इंटीजर कॉन्स्टेंट्स के साथ भी वही मामला है।
तो, पूर्णांकों
Integer i1 = 127;
Integer i2 = 127;
System.out.println(i1==i2); // True
&
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1==i2); // False
यहाँ तक के लिए सब कुछ मेरे सिर में चला जाता है।
क्या मैं पचाने के लिए है नहीं पा रहा हूँ, इसे दूसरे तरीके से व्यवहार करने के तरीके मैं यह व्यवहार परिवर्तन 127 के बाद 127 से पूर्णांक बढ़ाने के लिए, नीचे दिए गए कोड छोटा सा अंश है
Integer i1 = 128;
Integer i2 = 128;
System.out.println(i1==i2); // False. WHY?????
किसी मदद कर सकते हैं मुझे इस बात को समझ?
देखने http://stackoverflow.com/questions/1700081/why-does-128-128-return-false-but-127-127-return-true-when-converting-to Inteter.valueOf() का उल्लेख करने के लिए -integ? lq = 1 –