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("");
}
}
构建对象,给属性赋值,可以
- 使用包含形参的构造器,弊端是需要构造多个不同形参的方法;
- 一个空的构造器,然后使用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();