lombok的@Builder导致初始化字段无效解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011870280/article/details/84861730

当用@Builder注解时,类里面的初始化字段就无效,比如下面类中的totalAmt和lineNum字段就会置为null。

@Builder
public class FileExport {
    private String charset;
    private String[] fields;
    private String amtField;
    private BigDecimal totalAmt=BigDecimal.ZERO;
    private AtomicLong lineNum=new AtomicLong();
    private String delimiter;
    private PrintWriter writer;
}

对于这种情况,可以在需要保留默认值的字段上加上@Builder.Default注解解决

@Builder
public class FileExport {
    private String charset;
    private String[] fields;
    private String amtField;
    @Builder.Default
    private BigDecimal totalAmt=BigDecimal.ZERO;
    @Builder.Default
    private AtomicLong lineNum=new AtomicLong();
    private String delimiter;
    private PrintWriter writer;
}

猜你喜欢

转载自blog.csdn.net/u011870280/article/details/84861730