Answers:
.contains()是列表的最佳方法,但是对于地图,您将需要使用.containsKey()或.containsValue()
[a:1,b:2,c:3].containsValue(3)
[a:1,b:2,c:3].containsKey('a')
if(aMap["aKey"]==aValue)
。
对于列表,请使用contains
:
[1,2,3].contains(1) == true
true == true
,当然是#joke
重要说明在对象(例如域)集合上使用.contains()的注意事项。如果Domain声明包含EqualsAndHashCode或其他equals()实现来确定那些Ojbects是否相等,并且已将其设置为...
import groovy.transform.EqualsAndHashCode
@EqualsAndHashCode(includes = "settingNameId, value")
然后.contains(myObjectToCompareTo)将使用集合中每个Object实例的数据评估myObjectToCompareTo中的数据。因此,如果您的equals方法不能如我所愿,那么,您可能会看到意外的结果。