如何在 Groovy 中执行引用等于

  • 本文关键字:引用 执行 Groovy groovy
  • 更新时间 :
  • 英文 :


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

使用 is 方法。 即:

a.is( b )

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

编辑

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

使用 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

最新更新