我想避免多个构造函数,所以我想使用建造者设计模式 https://en.wikipedia.org/wiki/Builder_pattern, 通过使用lombok https://projectlombok.org/setup/maven图书馆,它可以更容易,所以我想注释类ContractDTO
使用此库注释:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
class ContractDTO {
private Integer id;
private String name;
private Integer acquirerId;
private Integer terminalId;
private String merchantId;
}
那么你的代码可以是:
...
.map(g -> new ContractDTO().toBuilder()
.name(g.getName())
.merchantName(g.getMerchantId())
.build()
)....
但是当我尝试编译代码时,我找不到符号
[错误]符号:toBuilder()方法
也许我需要提前生成代码?
你可以这样使用它:
ContractDTO.builder()
.name(g.getName())
.merchantName(g.getMerchantId())
.build();
如果我们想要创建对象的副本或近似副本,我们可以将属性 toBuilder = true 添加到 @Builder 注释中。这告诉 Lombok 将 toBuilder() 方法添加到我们的类中。当我们调用 toBuilder() 方法时,它会返回一个使用调用它的实例的属性进行初始化的构建器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)