java中的.builder()方法

public class Main {
    public static void main(String[] args) {
        //方法1,使用全量的构造函数
        Result<String> result1 = new Result<>(200, "success", "");

        //方法2,使用空的构造函数加setter函数赋值
        Result<String> result2 = new Result<>();
        result2.setCode(200);
        result2.setMessage("success");
        result2.setData("");
    }
}

构建对象,给属性赋值,可以

  1. 使用包含形参的构造器,弊端是需要构造多个不同形参的方法;
  2. 一个空的构造器,然后使用setter方法进行设置,弊端是使用时冗长。
    因此可以使用builder来简化代码。

Builder其实是一种设计模式,叫做建造者模式

Result<String> result3 = new Result.Builder<>().code(404).message("failure").build();
Result<String> result4 = Result.newBuilder().code(404).message("failure").build();

使用lombok插件优化

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
    private int code;
    private String message;
    private T data;
}

Result<String> result5 = Result.<String>builder().code(404).message("failure").build();

你可能感兴趣的:(java)