Groovy:命名参数构造函数
发布时间:2020-12-14 16:30:05 所属栏目:大数据 来源:网络整理
导读:我发现一个人可以做的很酷: class Foo { String name}def foo = new Foo(name:"Test") 但是,它仅在我的文件名与类名匹配时才有效.如果我有一个包含一堆类的文件,例如: class AllClassesInOneFile { class Bar {} class Foo { String name }}def foo = new
我发现一个人可以做的很酷:
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" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |