第一种:通过内部类构建
@Data
public class StuOne {
private String name;
private Integer age;
public static Builder builder(){
return new Builder();
}
public static class Builder{
private String name;
private int age;
public Builder name(String name){
this.name = name;
return this;
}
public Builder age(int age){
this.age = age;
return this;
}
public StuOne build(){
StuOne student = new StuOne();
student.setAge(age);
student.setName(name);
return student;
}
}
}
第二种:利用lombok的 @Builder 注解
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class StuTwo {
private String name;
private Integer age;
}
第三种: 利用lombok的 @RequiredArgsConstructor 和 @NonNull 注解
@Data
@Accessors(chain = true)
@RequiredArgsConstructor(staticName = "of")
public class StuThree {
@NonNull
private String name;
private Integer age;
}
调用测试
public static void main(String[] args) {
//第一种
StuOne zs = StuOne.builder().name("zs").age(23).build();
System.out.println(zs);
//第二种
StuTwo ls = StuTwo.builder().name("ls").age(24).build();
System.out.println(ls);
//第三种
StuThree ww=StuThree.of("ww").setAge(25);
System.out.println(ww);
}