Confused in appending Strings in Java -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 23 उत्तर
मेरे पास आने की स्थिति है स्ट्रिंग। और मैं उलझन में हूँ ..
सार्वजनिक स्थिर शून्य foo () {स्ट्रिंग s = "str4"; स्ट्रिंग s1 = "str" + s.length (); System.out.println ("(एस == s1) =" + (s1 == s)); }
और
सार्वजनिक स्थिर शून्य बार () {स्ट्रिंग s = "str4"; स्ट्रिंग s1 = "str" + "4"; System.out.println ("(एस == s1) =" + (s1 == s)); }
1 मामले में यह 'झूठी' लौट रहा है, लेकिन दूसरे मामले में 'सत्य' जैसा कि मैं दोनों मामलों में समझता हूँ 'स्ट्र 4' ऑब्जेक्ट ढेर पर बनाया जा रहा है। इसलिए इसे दोनों मामलों में सही होना चाहिए। लेकिन ऐसा नहीं है। कृपया कोई मेरी मदद करता है कि ऐसा क्यों है ? धन्यवाद।!
का प्रयोग करें
s1.equals (s) < / Code>
स्ट्रिंग्स की तुलना करने के लिए, अन्यथा आप संदर्भों की तुलना करते हैं।
दूसरे मामले में यह
true देता है क्योंकि
स्ट्रिंग s1 = "str" + "4"; को
स्ट्रिंग s1 = "str4" के लिए अनुकूलित किया जाएगा; और
s और
s1 उसी स्ट्रिंग का संदर्भ लेंगे ।
Comments
Post a Comment