2012-05-02 20 views
31

Muchas veces es conveniente que Groovy maps == iguale(), pero ¿qué hago cuando quiero comparar por identidad? Por ejemplo, GPathResult implementa equals llamando a text(), que está vacío para la mayoría de los nodos internos. Intento identificar el nodo raíz pero con esa implementación no es posible. Sería posible si pudiera comparar por identidad.¿Cómo puedo hacer una referencia igual en Groovy?

Respuesta

36

utiliza el método is. es decir:

a.is(b) 

Ver the docs para más Descripción

8

Uso is de la identidad del objeto de prueba:

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 
Cuestiones relacionadas