Groovy - = = - operator

Bis jetzt, mein Verständnis war, dass == ist ein operator-überladung für .equals(). Allerdings habe ich vor kurzem entdeckt, dass

new Integer(1) == new Long(1) //returns true

in der Erwägung, dass

new Integer(1).equals(new Long(1)) //returns false

also ich denke == ist nicht gerade ein Kürzel für .equals(), also wie kommt es zu bestimmen, Gleichheit?

  • Dieses fährt Fort, mich zu beissen, wenn mit GORM, der seit Langem die Datenbank-IDs. Anfragen von JSON generierten integer-Werte nachgeben Verhalten wie: groovy:000> m = [1L : 'foo'] ===> [1:foo] groovy:000> m.containsKey(1L) ===> true groovy:000> m.containsKey(1) ===> false
InformationsquelleAutor Dónal | 2012-12-03
Schreibe einen Kommentar