一、作用 Java Builder模式主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数,而且构造函数如果出现默认参数的话,很容易出错。
二、举例
@Data @AllArgsConstructor @NoArgsConstructor public class FileVo {
private String fileName;
private Long fileSize;
private String eTag;
public static class Builder {
private String fileName;
private Long fileSize;
private String eTag;
public Builder() {
}
public Builder setFileName(String fileName) {
this.fileName = fileName;
return this;
}
public Builder setFileSize(Long fileSize) {
this.fileSize = fileSize;
return this;
}
public Builder setEtag(String eTag) {
this.eTag = eTag;
return this;
}
public FileVo build() {
return new FileVo(this);
}
}
private FileVo(Builder b) {
this.fileSize = b.fileSize;
this.fileName = b.fileName;
this.eTag = b.eTag;
}
public static void main(String[] args) {
FileVo fileVo = new Builder()
.setFileName("测试")
.setFileSize(10L)
.setEtag("123333")
.build();
System.out.println("fileVo = " + fileVo);
}
}
三、参考链接