當用@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;
}
Tip:idea的lombok插件記得升級到最新的,否則不支持@Builder.Default。