我有一张我打印过的地图,我可以在其中看到它的值:
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工作真的。如果有人能解释这里出了什么问题,我会很感激
答案 0 :(得分:1)
事实证明,sql.rows()中返回的“int”类型是键的BigDecimal。这就是导致我的比较永远失败的原因。我将我的字符串类型的员工ID转换为BigDecimal并且它有效。