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
相关产品推荐
相关产品推荐

