检查对象是否在使用Groovy的集合中

时间:2014-02-22 15:33:58

标签: grails groovy

我有一个名为Event的类,其中包含许多User对象。

static hasMany = [users:User]

如何检查给定用户是否在该集合中?有没有这样做的功能?

我认为users.find(GivenUser)会起作用,但显然不行!

1 个答案:

答案 0 :(得分:4)

问题是如何评估集合中对象的相等性。不知道你是否已经为集合中的对象实现了自己的equals或hashcode,这很难说。但是,您总是可以这样做:

users.find{it.id == givenUser.id}

正如评论中所指出的,如果你有双向关系,最好使用GORM来查询。在这种情况下,它将更加容易和有效:

User.findByOtherObject(otherObject)