java setter 的链式调用
方法一:
setter 返回当前POJO 类型,而不是 void,然后将 this
返回
public Student setName(String name) {
this.name = name;
return this;
}
public Student setAge(Integer age) {
this.age = age;
return this;
}
public Student setScore(Integer score) {
this.score = score;
return this;
}
然后,在创建对象的时候,就可以进行链式调用:
Student student = new Student().setName("james").setAge(22).setScore(80);
方法二:用 Lombok 实现 setter 的链式调用
@Data
@Accessors(chain = true)
public class Student {
private String name;
private Integer age;
private Integer score;
}
第一行的 @Data
注解,是一系列注解的集合,主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;
第二行的 @Accessors
注解,就是这里的重点了,它用来设定 Lombok 应该怎样生成 setter 和 getter 代码。而其中的 chain
属性,就是打开链式 setter 的开关,将它打开之后,就可以生成支持链式调用的 setter 方法。