Bis jetzt war mein Verständnis, dass ==
eine Operatorüberladung für .equals()
ist. Allerdings habe ich vor kurzem entdeckt, dassGroovy == Operator
new Integer(1) == new Long(1) // returns true
während
new Integer(1).equals(new Long(1)) // returns false
also denke ich, ==
ist nicht gerade eine Abkürzung für .equals()
, so wie funktioniert es Gleichheit bestimmen?
Dies beißt mich weiterhin bei der Verwendung von GORM, die lange Datenbank-IDs hat. Anfragen von JSON generierten ganzzahlige Werte, die folgendes Verhalten ergeben: groovy: 000> m = [1L: 'foo'] ===> [1: foo] groovig: 000> m.containsKey (1L) ===> true groovy: 000> m.containsKey (1) ===> false –