如何使用Lambda表达式实现链式调用?代码举例讲解

链式调用是一种便利的调用方式,可以通过不断调用对象的方法来进行操作,而不需要重复引用这个对象。这种方式使代码更加简洁和流畅。

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 本身,实现了链式调用。我们可以一气呵成地调用多个方法来制作我们想要的咖啡。