GroovyでJavaで言うところのequalsと==はどう書く?
Javaで言うところの ==演算子 (参照の同一性) は Groovyでは Object#is()、またJavaで言うところの Object#equals() (オブジェクトの同一性) は Groovyでは ==演算子となっている。
Javaでの例
SameTest a = new SameTest(1); SameTest b = new SameTest(1); assert a.equals(b) : "a と b の内容は同じ"; assert a != b : "a と b の参照先は異なる";
Groovyでの例
def a = new SameTest(num:1) def b = new SameTest(num:1) assert a == b : 'a と b の内容は同じ' assert !a.is(b) : 'a と b の参照先は異なる'