You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Groovy中如何通过变量传入的键从已填充HashMap取值

嗨,这事儿在Groovy里超简单的,我给你举个实际的例子,一看就懂:

第一步:先确认你的HashMap已经填充完成

不管你是用Groovy的简化语法初始化,还是传统的Java式填充,都没问题,比如:

// Groovy简化写法(推荐,更简洁)
def myHashMap = [
    "productId": 1001,
    "productName": "无线耳机",
    "price": 299.99
]

// 或者是你可能用的Java风格填充方式
// def myHashMap = new HashMap()
// myHashMap.put("productId", 1001)
// myHashMap.put("productName", "无线耳机")
// myHashMap.put("price", 299.99)

第二步:定义存储目标键的变量

把你要查询的键放到一个变量里——这个变量可以是静态赋值,也可以是动态获取(比如从用户输入、配置文件读取),示例如下:

def targetKey = "productName"

第三步:通过变量键获取对应值

Groovy提供了两种常用的方式,都能完美实现需求:

方式1:Groovy专属的简洁语法(最常用)

直接用map[变量名]的形式取值,语法非常直观:

def resultValue = myHashMap[targetKey]
println "查询到的值是:$resultValue" // 输出:查询到的值是:无线耳机

方式2:兼容Java的get()方法

如果你习惯Java的写法,也可以用get()方法传入变量,完全兼容:

def resultValue = myHashMap.get(targetKey)
println "查询到的值是:$resultValue" // 输出:查询到的值是:无线耳机

额外小技巧:处理键不存在的情况

如果担心查询的键可能不存在,还可以用getOrDefault()方法设置默认值,避免返回null导致的异常:

def nonExistentKey = "stock"
def resultValue = myHashMap.getOrDefault(nonExistentKey, "暂无数据")
println "查询到的值是:$resultValue" // 输出:查询到的值是:暂无数据

内容的提问来源于stack exchange,提问作者Sreejata Pal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:26:03