Y, además, para verificar si un mapa contiene algún valor no nulo bajo una determinada clave, es suficiente verificar la siguiente expresión if(aMap["aKey"]==aValue).
Probablemente quisiste decir [1,2,3] .contains (1). Porque supongo que contiene la función en sí misma ya devuelve un valor booleano. ¿Por qué quieres compararlo de nuevo con un 'verdadero' codificado?
Harshay Buradkar
66
@HarshayBuradkar Para asegurarse realmente true == true, por supuesto #joke
Automatico
8
Si realmente desea su método de inclusión en una ArrayList, simplemente agréguelo:
ArrayList.metaClass.includes ={ i -> i indelegate}
IMPORTANTE Gotcha para usar .contains () en una colección de objetos, como dominios. Si la declaración de dominio contiene un EqualsAndHashCode, o alguna otra implementación de equals () para determinar si esos Ojbects son iguales, y lo ha configurado así ...
entonces .contains (myObjectToCompareTo) evaluará los datos en myObjectToCompareTo con los datos para cada instancia de Object en la Colección. Entonces, si su método de igualdad no está a la altura del tabaco, como el mío no, es posible que vea resultados inesperados.
assert [12,42,33].indexOf(42) == 1
Respuestas:
.contains () es el mejor método para las listas, pero para los mapas deberá usar .containsKey () o .containsValue ()
fuente
if(aMap["aKey"]==aValue)
.Un poco de sintaxis de azúcar
fuente
def m = [a: true]; 'a' in m
→ verdadero perodef m = [a: false]; 'a' in m
→ falso!Para listas, use
contains
:fuente
true == true
, por supuesto #jokeSi realmente desea su método de inclusión en una ArrayList, simplemente agréguelo:
fuente
IMPORTANTE Gotcha para usar .contains () en una colección de objetos, como dominios. Si la declaración de dominio contiene un EqualsAndHashCode, o alguna otra implementación de equals () para determinar si esos Ojbects son iguales, y lo ha configurado así ...
entonces .contains (myObjectToCompareTo) evaluará los datos en myObjectToCompareTo con los datos para cada instancia de Object en la Colección. Entonces, si su método de igualdad no está a la altura del tabaco, como el mío no, es posible que vea resultados inesperados.
fuente
Lo hice así, así que funciona si alguien lo está buscando.
fuente
Puede usar el operador de Membresía:
Operador de membresía Groovy
fuente
También puede usar coincidencias con expresiones regulares como esta:
fuente