测试环境 JDK 10 ,JUnit4
如何使用 lambda 表达式
- 定义一个只含有一个抽象方法的接口 AbstractFuncOfSingle (只能是接口)
1 | public interface AbstractFuncOfSingle { |
传入两个int类型的参数,返回一个类型的参数
- 定义一个方法,传入参数为 AbstractFuncOfSingle
1 | public void callAbstractFuncOfSingle(AbstractFuncOfSingle singleFunc, int a, int b){ |
在方法中将方法参数 a,b 作为参数传入 AbstractFuncOfSingle.print()
方法,并使用 result 接收返回参数然后打印
- 调用上述方法
1 |
|
使用 lambda 表达式创建一个内部类,打印 a + b 的和并返回 a + b 和
如果接口的抽象方法具有多个参数,那么 lambda 的传入参数个数也要一一对应,
如果抽象方法具有返回值,在 lambda 表达式中也要有返回值,否则可以省略 return 语句
注意:lambda 表达式的参数类型和返回类型要和抽象方法的参数类型和返回类型相同
lambda 表达式和匿名内部类
lambda 表达式是匿名内部类的一种简化形式,lambda 表达式只能书写于只有一个抽象方法的接口,匿名内部类可以书写具有多个抽象方法的接口和抽象类