gpt4 book ai didi

Groovy:命名参数构造函数

转载 作者:行者123 更新时间:2023-12-01 22:50:07 28 4
gpt4 key购买 nike

我发现一个人可以做的事情非常酷:

class Foo {
String name
}

def foo = new Foo(name:"Test")

但是,只有当我的文件名与类名匹配时它才有效。如果我有一个包含一堆类的文件,例如:

class AllClassesInOneFile {
class Bar {}
class Foo {
String name
}
}

def foo = new Foo(name:"Test")

现在,它不再起作用了,我得到一个 java.lang.IllegalArgumentException: 参数数量错误

我想知道是否仍然可以使用脚本和嵌套类调用命名参数参数样式。

问候

最佳答案

看起来 Groovy 需要显式引用外部类的实例:

class Baz {
class Bar {}
class Foo {
String name
}
}

def baz = new Baz()

def f = new Baz.Foo(baz, [name: "john doe"])

assert f.name == "john doe"

关于Groovy:命名参数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14964970/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com