Strings in Java : equals vs == -


संभव डुप्लिकेट:

  स्ट्रिंग s1 = "andrei"; स्ट्रिंग s2 = "औररेई"; स्ट्रिंग s3 = s2.toString (); System.out.println ((s1 == s2) + "" + (एस 2 == एस 3));  

निम्नलिखित कोड देते हुए दूसरी तुलना एस 2 == एस 3 सच क्यों है? क्या वास्तव में s2.toString () वापस आ रहा है? जहां वास्तव में (s2.toString ()) स्थित है ?

पहले सभी String.toString एक नो-ऑप है:

  / ** * यह ऑब्जेक्ट (जो पहले से ही एक स्ट्रिंग है!) ही लौटा है * * @ स्ट्रिंग को स्वयं वापस चलाएं * / सार्वजनिक स्ट्रिंग toString () {यह वापस; }  

सबसे पहले, स्ट्रिंग स्थिरांकों को आंतरिक रूप से बंद कर दिया जाता है, इसलिए S1 और s2 के पीछे दृश्यों को समान स्ट्रिंग इन्सेंटेशन में बदल दिया जाता है।


Comments