Groovy Goodness: Check Object Instances Are The Same With === Operator
Groovy has used the == operator to check if objects are equal for a long time. To test if object instances are the same we must use the is method. Groovy 3 adds a new operator for the is method and that is the === operator. And to negate the result of the is method we can use the !== operator.
In the following example we use the === and !== operator to check if objects refer to the same instance or not:
def answer = new Integer(42)
def anotherAnswer = new Integer(42)
def meaningOfLife = answer
// Equals is true for answer and anotherAnswer
assert answer == anotherAnswer
// But they don't refer to the same instance.
assert answer !== anotherAnswer
// The variables meaningOfLife and answer
// do refer to the same object instance.
assert answer === meaningOfLife
Written with Groovy 3.0.2.