如何在Groovy中执行引用等于?

时间:2012-05-02 15:50:40

标签: groovy

Groovy将==映射到equals()通常很方便,但是当我想通过身份进行比较时该怎么办?例如,GPathResult通过调用text()来实现equals,对于大多数内部节点,它是空的。我正在尝试识别根节点,但是使用该实现它是不可能的。如果我可以通过身份进行比较,那将是可能的。

2 个答案:

答案 0 :(得分:43)

您使用is方法。即:

a.is( b )

有关更多说明,请参阅the docs

答案 1 :(得分:9)

使用is测试对象标识:

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