在现有数组中创建项的属性数组

Ron*_*onK 1 arrays groovy type-conversion

可能不是最好的标题,但我会解释:
我有一个对象数组 - 让我们调用它们Person.
每个Person都有一个Name.我想Name分别创建一个数组.

目前我有:

def peopleNames = new ArrayList<String>()

for (person in people)
{
    peopleNames.add(person.name)
}
Run Code Online (Sandbox Code Playgroud)

groovy提供了更好的方法吗?

ig0*_*774 8

Groovy 在Groovy集合上提供了一个collect方法,可以在一行中完成:

def peopleNames = people.collect { it.name }
Run Code Online (Sandbox Code Playgroud)


tim*_*tes 5

或点差运算符

def peopleNames = people*.name
Run Code Online (Sandbox Code Playgroud)