Appearance
我们使用lombda表达式时不需要关心接口名称是什么,只要关心传入的参数是什么,想让参数变成什么类型。本篇文章通过自定义一个接口来体会,如果方法的参数是接口能用来干什么。
TIP
需求:新建一个类,传入余额。类中定义一个方法,方法参数为接口,自定义余额格式化信息。
自定义接口
java
@FunctionalInterface
public interface SecondInterface {
/**
* 格式化金额
*/
String format(int i);
}
格式化金额类
java
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));
}
}
使用:
java
public static void main(String[] args) {
MyMoney myMoney = new MyMoney(999999);
myMoney.printMoney(i -> new DecimalFormat("#,###").format(i));
}
TIP
结论:我们使用lombda不需要关心接口名称是什么,只要关心传入的参数是什么,想让参数变成什么类型。