Saya memiliki kelas seperti ini:
class Foo {
String bar
}
Saya mencoba mendapatkan ID semua objek Foo
yang String bar
-nya ada dalam daftar bars
. Saya sudah mencobanya beberapa cara, selalu menerima kesalahan yang sama:
java.lang.String cannot be cast to java.util.Collection
Beberapa hal yang telah saya coba:
def ids = Foo.findAllByBarInList( bars )*.id
def ids = Foo.findAllByBarInList( bars ).collect{ it.id }
def ids = Foo.findAllByBarInList( bars ).collect{ it -> it?.id }
PEMBARUAN:
Saya membuat bars
dengan split jadi itu adalah sebuah array, bukan daftar. Itu membuat saya kesal karena Foo.findAllByBarInList( bars )
mengembalikan Foo
objek saya dengan baik, hanya ketika saya mencoba mengumpulkan id barulah gagal. Saya sekarang membuat bars
dengan tokenize dan semuanya baik-baik saja.
collect
dan operator penyebaran*.
didasarkan pada asyik. - person ubiquibacon   schedule 17.07.2012def ids = Foo.findAllByBarInList( bars )*.id
berfungsi untuk saya. - person Kelly   schedule 17.07.2012