Dan, selain itu, untuk memeriksa apakah peta berisi beberapa nilai bukan nol di bawah kunci tertentu, cukup untuk memeriksa ekspresi berikut if(aMap["aKey"]==aValue).
Mungkin Anda ingin mengatakan [1,2,3] .berisi (1). Karena saya menebak mengandung fungsi itu sendiri sudah mengembalikan boolean. Mengapa Anda ingin membandingkannya kembali dengan hardcoded 'true'.
Harshay Buradkar
6
@HarshayBuradkar Untuk memastikan true == true, tentu saja #canda
Automatico
8
Jika Anda benar-benar ingin memasukkan metode Anda pada ArrayList, cukup tambahkan:
ArrayList.metaClass.includes ={ i -> i indelegate}
Gotcha PENTING untuk menggunakan .contains () pada Kumpulan Objek, seperti Domain. Jika deklarasi Domain berisi EqualsAndHashCode, atau implementasi equals lainnya () untuk menentukan apakah Ojbect itu sama, dan Anda telah mengaturnya seperti ini ...
maka .contains (myObjectToCompareTo) akan mengevaluasi data di myObjectToCompareTo dengan data untuk setiap instance Object dalam Koleksi. Jadi, jika metode equals Anda tidak cukup, seperti milik saya, Anda mungkin melihat hasil yang tidak terduga.
assert [12,42,33].indexOf(42) == 1
Jawaban:
.contains () adalah metode terbaik untuk daftar, tetapi untuk peta Anda harus menggunakan .containsKey () atau .containsValue ()
sumber
if(aMap["aKey"]==aValue)
.Gula sintaksis
sumber
def m = [a: true]; 'a' in m
→ benar belumdef m = [a: false]; 'a' in m
→ salah!Untuk daftar, gunakan
contains
:sumber
true == true
, tentu saja #candaJika Anda benar-benar ingin memasukkan metode Anda pada ArrayList, cukup tambahkan:
sumber
Gotcha PENTING untuk menggunakan .contains () pada Kumpulan Objek, seperti Domain. Jika deklarasi Domain berisi EqualsAndHashCode, atau implementasi equals lainnya () untuk menentukan apakah Ojbect itu sama, dan Anda telah mengaturnya seperti ini ...
maka .contains (myObjectToCompareTo) akan mengevaluasi data di myObjectToCompareTo dengan data untuk setiap instance Object dalam Koleksi. Jadi, jika metode equals Anda tidak cukup, seperti milik saya, Anda mungkin melihat hasil yang tidak terduga.
sumber
Saya melakukannya seperti ini sehingga berfungsi jika seseorang mencarinya.
sumber
Anda dapat menggunakan operator Keanggotaan:
Operator keanggotaan Groovy
sumber
Anda juga dapat menggunakan kecocokan dengan ekspresi reguler seperti ini:
sumber