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
Post a Comment