Além disso, para verificar se um mapa contém algum valor não nulo em uma determinada chave, basta verificar a expressão a seguir if(aMap["aKey"]==aValue).
Provavelmente você quis dizer [1,2,3] .contains (1). Porque eu estou supondo que contém a própria função já retorna um booleano. Por que você deseja compará-lo novamente com um "verdadeiro" codificado?
Harshay Buradkar
6
@HarshayBuradkar Para ter certeza true == true, é claro #joke
Automatico
8
Se você realmente deseja o seu método de inclusão em um ArrayList, basta adicioná-lo:
ArrayList.metaClass.includes ={ i -> i indelegate}
IMPORTANTE Gotcha para usar .contains () em uma coleção de objetos, como domínios. Se a declaração Domain contiver uma EqualsAndHashCode, ou alguma outra implementação equals () para determinar se esses objetivos são iguais e você a definiu assim ...
o .contains (myObjectToCompareTo) avaliará os dados em myObjectToCompareTo com os dados de cada instância do objeto na coleção. Portanto, se o seu método equals não for adequado, como o meu não foi, você poderá ver resultados inesperados.
assert [12,42,33].indexOf(42) == 1
Respostas:
.contains () é o melhor método para listas, mas para mapas, você precisará usar .containsKey () ou .containsValue ()
fonte
if(aMap["aKey"]==aValue)
.Algum açúcar de sintaxe
fonte
def m = [a: true]; 'a' in m
→ verdadeiro aindadef m = [a: false]; 'a' in m
→ falso!Para listas, use
contains
:fonte
true == true
, é claro #jokeSe você realmente deseja o seu método de inclusão em um ArrayList, basta adicioná-lo:
fonte
IMPORTANTE Gotcha para usar .contains () em uma coleção de objetos, como domínios. Se a declaração Domain contiver uma EqualsAndHashCode, ou alguma outra implementação equals () para determinar se esses objetivos são iguais e você a definiu assim ...
o .contains (myObjectToCompareTo) avaliará os dados em myObjectToCompareTo com os dados de cada instância do objeto na coleção. Portanto, se o seu método equals não for adequado, como o meu não foi, você poderá ver resultados inesperados.
fonte
Fiz isso assim, para que funcione se alguém estiver procurando.
fonte
Você pode usar o operador Membership:
Operador de associação Groovy
fonte
Você também pode usar correspondências com expressões regulares como esta:
fonte