使用groovy@Builder时设置默认属性值
似乎@Builder不支持为类属性设置默认值使用groovy@Builder时设置默认属性值,groovy,Groovy,似乎@Builder不支持为类属性设置默认值 @Test void test() { assert Foo.builder().build().getProp() != null // fail } @Builder class Foo { Map prop = [:] } 我可能会通过覆盖build方法来解决这个问题,但是如何解决呢?不太确定@builder的builder()方法的实现 我相信您需要初始化该类的属性/成员,然后执行.build()来创建该类的实例 以下是一
@Test
void test() {
assert Foo.builder().build().getProp() != null // fail
}
@Builder
class Foo {
Map prop = [:]
}
我可能会通过覆盖build方法来解决这个问题,但是如何解决呢?不太确定
@builder
的builder()方法的实现
我相信您需要初始化该类的属性/成员,然后执行.build()
来创建该类的实例
以下是一个例子:
import groovy.transform.builder.Builder
@Builder
class Foo {
Map prop
}
def map = [a:1, b:2]
def f = Foo.builder().prop(map).build()
assert map == f.prop // or you can use f.getProp()
您可以在网上快速试用
如果您注意到,演示示例将显示如何在构建对象时初始化多个属性。不太确定@builder
的builder()方法的实现
我相信您需要初始化该类的属性/成员,然后执行.build()
来创建该类的实例
以下是一个例子:
import groovy.transform.builder.Builder
@Builder
class Foo {
Map prop
}
def map = [a:1, b:2]
def f = Foo.builder().prop(map).build()
assert map == f.prop // or you can use f.getProp()
您可以在网上快速试用
如果您注意到,演示示例将显示如何在构建对象时初始化多个属性。可能重复的可能重复的