链式调用是一种便利的调用方式,可以通过不断调用对象的方法来进行操作,而不需要重复引用这个对象。这种方式使代码更加简洁和流畅。
Lambda 表达式可以很好地支持链式调用,我们来看一个例子:
假设我们有一个咖啡机,可以通过链式调用来制作一杯咖啡,这是一个使用链式调用的很好示例。
使用 Lambda 表达式实现链式调用:
// 咖啡机
class CoffeeMachine {
// 制作一杯咖啡
public CoffeeMachine brewCoffee() {
System.out.println("制作咖啡");
return this;
}
// 加糖
public CoffeeMachine addSugar() {
System.out.println("加糖");
return this;
}
// 加奶
public CoffeeMachine addMilk() {
System.out.println("加奶");
return this;
}
}
// 使用
// 制作一杯含糖加奶的咖啡
new CoffeeMachine().brewCoffee().addSugar().addMilk();
// 输出
// 制作咖啡
// 加糖
// 加奶
这里通过 CoffeeMachine 的多个方法都返回 CoffeeMachine 本身,实现了链式调用。我们可以一气呵成地调用多个方法来制作我们想要的咖啡。