在groovy中访问地图的值?

时间:2011-08-08 05:05:44

标签: groovy

我有以下课程测试:

class Main{

  private Map<String, SomeClass> someClass

}

和SomeClass如下:

class SomeClass{

  private String number
  private Map<String, String[]> someClassMap     

}

我有一个Main类列表:

def someList
List<Main> main = callSomeService

main.each { m ->
  def z = m.someClass.values().number
  def x = m.someClass.values().someClassMap.findAll{it.key == 'someValues'}   <-- problem
  if(x){
    someList << z       
  }
}

现在我想做什么,在主列表中我要检查someClassMap的键是否等于“someValues” 然后将数字放在someList

任何想法都会受到赞赏吗?

2 个答案:

答案 0 :(得分:0)

你可以这样做:

if (m.someClass["someValue"]) {
     someList << z
}

答案 1 :(得分:0)

def someList = []
someClassMap.each {key, value -> 
    if (key == 'someValues') {
        someList << value
    }
}