
所谓链式编程,即:方法可链式调用,方法调用完后返回对象本身,然后又可以继续调用该对象的方法。
常用的 StringBuffer
就是链式编程的例子:
1 | StringBuffer str = new StringBuffer(); |
假设在实际开发中有这样一个 User
类(这是一个最简单的 JavaBean):
1 | public class User { |
如果要新建一个对象,给属性设值,常规的写法是:
1 | User u = new User(); |
如果使用链式编程方式,需要先修改 Setter
方法,return this
:
1 | public class User { |
同样给属性设值,则可以这样写:
1 | User u = new User(); |
是不是感觉代码简洁不少?可在需要重复调用 Setter
方法的类上可以改成这种方式。
Lombok 对链式编程的支持
这种场景 Lombok 也想到了,只需要在类上加上注解 @Accessors(chain = true)
,这个类生成的Setter
方法就是支持链式调用的了:
1 | import lombok.Getter; |
可以看出编译后生成的 Setter
方法是有返回 User
对象本身的: