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

Groovy中列表直接访问映射键值的语法名称咨询

Groovy中List访问Map公共键值的语法名称

你发现的这种people.height/people.age语法,在Groovy里叫做属性投影(Property Projection),也可称为集合的属性抽取,是Groovy为集合提供的便捷语法糖。

示例代码

ArrayList people = [
        ["height": 172, "age": 42],
        ["height": 180, "age": 66],
        ["height": 180, "age": null],
        ["height": 180],
        ["age": 10]
]

println "people.height: " + people.height
println "people.age: " + people.age

输出结果

people.height: [172, 180, 180, 180, null]
people.age: [42, 66, null, null, 10]

语法说明

当对包含Map的List调用某个属性名(或Map的键名)时,Groovy会自动遍历List中的每个Map,提取对应键的值并组成新List返回;若某个Map不存在该键,则用null填充对应位置。

补充示例

def books = [
    [title: "Groovy实战", author: "Dierk Koenig"],
    [title: "Groovy编程", author: "Venkat Subramaniam"],
    [title: "Groovy食谱"]
]
println books.title // 输出: [Groovy实战, Groovy编程, Groovy食谱]
println books.author // 输出: [Dierk Koenig, Venkat Subramaniam, null]

内容的提问来源于Stack Exchange,提问作者Domi W

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:11:13