अब तक, मेरी समझ यह थी कि ==
.equals()
के लिए एक ऑपरेटर ओवरलोड है। हालांकि, मैं हाल ही में पता चला किग्रोवी == ऑपरेटर
new Integer(1) == new Long(1) // returns true
जबकि
new Integer(1).equals(new Long(1)) // returns false
इसलिए मुझे लगता है कि वास्तव में ==
.equals()
के लिए एक आशुलिपि नहीं है, तो यह कैसे समानता निर्धारित करता है?
यह GORM का उपयोग करते समय मुझे काटने के लिए जारी है, जिसमें लंबे डेटाबेस आईडी हैं। जेएसओएन से अनुरोधों ने उत्पन्न होने वाले पूर्णांक मानों को उत्पन्न किया: ग्रोवी: 000> एम = [1 एल: 'फू'] ===> [1: foo] ग्रोवी: 000> m.containsKey (1L) ===> सच ग्रोवी: 000> m.containsKey (1) ===> झूठी –