java - 从groovy中的Key获取映射值

标签 java grails groovy

我有一张已打印的 map ,我可以清楚地看到其中的值:

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

那么这是怎么回事?我猜我使用了一些错误的 key 类型,但我只是不知道这在 groovy 中应该如何工作。如果有人可以解释这里出了什么问题,我将不胜感激

最佳答案

事实证明,sql.rows() 返回的“int”类型是键的 BigDecimal。这就是导致我的比较总是返回错误的原因。我将员工 ID 的字符串类型转换为 BigDecimal,并且成功了。

关于java - 从groovy中的Key获取映射值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7931052/

相关文章:

mysql - chalice : not fetching/listing data from database

spring - 如何在 Grails 中动态选择服务

java - 通知中添加的操作图标未显示

java - 从命令行将 clojure 源代码编译为类 (AOT)(不使用 lein)

javascript - 如何使用提交按钮免费提交AJAX表单

java - 在 Java 中使用 GroovyClassLoader 时获取类未找到 : org. apache.ivy.core.report.ResolveReport

regex - Jenkins Groovy 控制台日志上的构建后插件多行正则表达式

gwt - Groovy 和 GWT : Combining both paradigms

java - 在 Java 中反序列化不可信数据的安全影响是什么?

java - 二维数组 - 错误的 "Wall "放置?