2012-05-02 4 views
31

Groovyが==をequals()にマップするのは便利なことがよくありますが、アイデンティティで比較したいときはどうしたらいいですか?たとえば、GPathResultはtext()を呼び出すことによってequalsを実装します。これはほとんどの内部ノードでは空です。私はルートノードを特定しようとしていますが、その実装では不可能です。アイデンティティで比較することができれば可能です。テスト対象のアイデンティティのためのGroovyで参照equalsを実行するにはどうすればよいですか?

答えて

36

あなたはisメソッドを使用します。すなわち:

a.is(b) 

はもっと説明

ため the docsを参照してください。
8

使用is

groovy:000> class Foo { } 
===> true 
groovy:000> f = new Foo() 
===> [email protected] 
groovy:000> g = new Foo() 
===> [email protected] 
groovy:000> f.is(g) 
===> false 
groovy:000> g.is(f) 
===> false 
groovy:000> f.is(f) 
===> true 
関連する問題