41

Groovy で == を equals() にマップすると便利なことがよくありますが、同一性で比較したい場合はどうすればよいでしょうか? たとえば、GPathResult は、ほとんどの内部ノードで空である text() を呼び出すことによって equals を実装します。ルート ノードを識別しようとしていますが、その実装では不可能です。同一性で比較できれば可能です。

4

2 に答える 2

48

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

a.is( b )

詳細については、ドキュメントを参照してください

編集

Groovy 3以降、使用できます ===(または!==その逆)

于 2012-05-02T15:57:18.083 に答える
10

isオブジェクトIDのテストに使用します。

groovy:000> class Foo { }
===> true
groovy:000> f = new Foo()
===> Foo@64e464e4
groovy:000> g = new Foo()
===> Foo@47524752
groovy:000> f.is(g)
===> false
groovy:000> g.is(f)
===> false
groovy:000> f.is(f)
===> true
于 2012-05-02T15:57:00.910 に答える