List 从groovy中的字符串列表创建对象列表

List 从groovy中的字符串列表创建对象列表,list,groovy,collect,List,Groovy,Collect,我有一个字符串列表,如下所示 List l = ["1","2","3"] class person { String name } 我有一门课,如下所示 List l = ["1","2","3"] class person { String name } 我想从列表l创建一个person对象列表 我已经尝试过使用groovy list collect,但无法做到这一点 这是我的密码 class testJsonSlurper { static void mai

我有一个字符串列表,如下所示

List l = ["1","2","3"]
class person {
    String name
}
我有一门课,如下所示

List l = ["1","2","3"]
class person {
    String name
}
我想从列表l创建一个person对象列表

我已经尝试过使用groovy list collect,但无法做到这一点

这是我的密码

class testJsonSlurper {
    static void main(String[] args) {
        List l = ["1","2","3"]
        def l2 = l.collect { new person(it) }
        println(l2)
    }
}
但我发现了以下错误

Exception in thread "main" groovy.lang.GroovyRuntimeException: Could not find matching constructor for: testJsonSlurper$person(java.lang.String)

在类中,您必须更改此行

def l2 = l.collect { new person(it) }
进入

这就是我们所称的命名参数构造函数。您可以找到有关命名参数构造函数的详细信息

如果不想进行此更改,则需要在类person中添加构造函数。 类person在添加构造函数后应该是这样的

​class person {    
    String name

    person(name){
        this.name = name
    }
}