If hashcode of two String literal and string object is same in java then if they compared by == .Then find false.Why? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 11 उत्तर

नीचे दिए गए कोड में हैश कोड का s1 और एस 3 बराबर हैं लेकिन एस 1 == एस 3 गलत क्यों देता है? कृपया इसे स्पष्ट करें। यहां एस 1, एस 2 और एस 3 में एक ही सामग्री और हैशकोड हैं। कोड नीचे चलाते समय

108274800

108274800

108274800

s1 == s2

s1 .equals (s2)

s1.equals (s3)

संहिता निम्नानुसार दी गई है ...

सार्वजनिक वर्ग StringTest {

  / ** * परम अरग्स * / सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {// टूडो ऑटो-जनरेटेड विधि स्टब स्ट्रिंग s1 = "राहुल"; स्ट्रिंग s2 = "राहुल"; स्ट्रिंग s3 = नया स्ट्रिंग ("राहुल"); Println (s1.hashCode ()); Println (s2.hashCode ()); Println (s3.hashCode ()); यदि (s1 == s2) {System.out.println ("s1 == s2"); } यदि (s1 == s3) {System.out.println ("s1 == s3"); } यदि (s1.equals (s2)) {System.out.println ("s1.equals (s2)"); } यदि (s1.equals (s3)) {System.out.println ("s1.equals (s3)"); }}  

}

== केवल संदर्भ प्रकार की तुलना करता है वस्तुओं या स्ट्रिंग की तुलना करने के लिए, आपको s1.equals (s2)

का उपयोग करना चाहिए

Comments

Popular posts from this blog

winforms - C# Form - Property Change -

java - Messages from .properties file do not display UTF-8 characters -

javascript - amcharts makechart not working -