Java中的Builder模式

274 阅读1分钟

一、作用 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);
   
}

}

三、参考链接

www.jianshu.com/p/afe090b2e…