Java中如何使用带有函数接口的 lambda 表达式
Lambda表达式是匿名函数,没有任何返回类型、访问修饰符,也不属于任何类。它可以用来简化函数接口中抽象方法的实现。只要有函数接口,我们就可以使用lambda表达式而不是匿名内部类。
语法
([comma seperated argument-list]) -> {body}示例
@FunctionalInterfaceinterface BonusCalculator {
public double calcBonus(int amount);
}
class EmpDetails {
public void getBonus(BonusCalculator calculator, int amount) {
double bonus = calculator.calcBonus(amount);
System.out.println("Bonus: " + bonus);
}
}
public class LambdaExpressionTest {
public static void main(String[] args) {
EmpDetails details = new EmpDetails();
//使用匿名内部类
EmpDetails details = new EmpDetails();
details.getBonus(new BonusCalculator () {
public double calcBonus(int amount) {
System.out.println("使用匿名内部类对员工进行奖金计算");
return amount*2;
}
},2000);
//使用Lambda表达式
details.getBonus((amount) -> {
System.out.println("使用Lambda表达式计算员工的奖金");
return amount*2;
},2000);
}
}输出结果
使用匿名内部类对员工进行奖金计算 Bonus: 4000.0 使用Lambda表达式计算员工的奖金 Bonus: 4000.0
热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短