utiliza usan tres signos signo significa que para niños los interrogación interrogacion importancia expresar exclamación exclamacion ejemplos dialogo con como admiracion groovy

usan - ¿Cuál es el propósito del signo de interrogación(?) Después de una variable en Groovy



signos de interrogacion y exclamacion para niños (2)

Soy nuevo en Grails encontré en muchos ejemplos que una variable puede terminar con un signo de interrogación (?) Como este

boolean equals(other) { if(other?.is(this)) return true }

el código anterior contiene Si la condición en ese otro está terminando con a? entonces quiero saber el significado de esa representación


Hay una sutileza de ?. , el operador de navegación segura , no mencionado en la respuesta de @dmahapatro.

Déjame dar un ejemplo:

def T = [test: true] def F = [test: false] def N = null assert T?.test == true assert F?.test == false assert N?.test == null // not false!

En otras palabras, a?.b es lo mismo que a != null && ab solo cuando se prueba un valor booleano. La diferencia es que el primero puede evaluar ab o null , mientras que el segundo solo puede ser ab o false . Esto importa si el valor de la expresión se pasa a otra expresión.


?. es un operador seguro nulo que se usa para evitar NPE inesperados.

if ( a?.b ) { .. }

es lo mismo que

if ( a != null && a.b ) { .. }

Pero en este caso is() ya no es seguro, por lo que no lo necesitaría

other.is( this )

debería ser bueno