41

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

4

2 回答 2

48

你使用is方法。IE:

a.is( b )

有关更多说明,请参阅文档

编辑

从 groovy 3 开始,您可以使用 ===(或!==相反)

于 2012-05-02T15:57:18.083 回答
10

用于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
于 2012-05-02T15:57:00.910 回答