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
热门推荐
6 祝福语简短古诗词
10 中秋快乐祝福语简短的
11 空军大学开学祝福语简短
12 周年蛋糕祝福语简短英语
13 送个姐妹生日祝福语简短
14 六一互换礼物祝福语简短
15 成长仪式的简短祝福语
16 生日祝福语简短独特的
17 同事离别祝福语简短的
18 20岁简短生日祝福语