从Groovy中的Key获取映射值

时间:2011-10-28 15:02:31

标签: java grails groovy

我有一张我打印过的地图,我可以在其中看到它的值:

searchMatch.each {
    println("The match: " + it.employee.employeeID)
    int empID = Integer.parseInt(it.employee.employeeID);
    println("empID:" + empID)
    println("parsedResults: " + parsedResults)
    println("parsedResults[empID]: " + parsedResults[empID])
}

输出类似于:

The match: 0518
empID:518
parsedResults: [518:[id:518, emp_name:Derek, title:Software Engineer ]]
parsedResults[empID]: null

那么这里发生了什么?我猜我正在使用一些错误的类型的键,但我只是不知道这应该如何在groovy工作真的。如果有人能解释这里出了什么问题,我会很感激

1 个答案:

答案 0 :(得分:1)

事实证明,sql.rows()中返回的“int”类型是键的BigDecimal。这就是导致我的比较永远失败的原因。我将我的字符串类型的员工ID转换为BigDecimal并且它有效。