将接口用于方法参数

2022-07-31 javalambda

我们使用lombda表达式时不需要关心接口名称是什么,只要关心传入的参数是什么,想让参数变成什么类型。本篇文章通过自定义一个接口来体会,如果方法的参数是接口能用来干什么。

需求:新建一个类,传入余额。类中定义一个方法,方法参数为接口,自定义余额格式化信息。

自定义接口

@FunctionalInterface
public interface SecondInterface {

    /**
     * 格式化金额
     */
    String format(int i);

}

格式化金额类

class MyMoney{
    private final int money;

    public MyMoney(int money) {
        this.money = money;
    }

    public void printMoney(SecondInterface secondInterface){
        System.out.println("我的存款:"+secondInterface.format(this.money));
    }
}

使用:

public static void main(String[] args) {
    MyMoney myMoney = new MyMoney(999999);
    myMoney.printMoney(i -> new DecimalFormat("#,###").format(i));
}

结论:我们使用lombda不需要关心接口名称是什么,只要关心传入的参数是什么,想让参数变成什么类型。

上次更新: 2 年前