(argument) -> (body)
1、 参数的类型既可以明确声明,也可以根据上下文来推断。例如:(int a)与(a)效果相同
2、 当只有一个参数,且其类型可推导时,圆括号()可省略。例如:a -> return a*a
3、 如果 Lambda 表达式的主体只有一条语句,花括号{}可省略。匿名函数的返回类型与该主体表达式一致
4、 函数式接口
5、 Lambda表达式与匿名内部类的联系和区别
联系:
• lambda表达式创建的对象与匿名内部类生成的对象一样,可以直接调用接口中继承的默认方法。
区别:
• 匿名内部类可以为任意接口创建实例,不管接口中包含多少个抽象方法,只要在匿名内部类中实现所有抽象方法即可。 但在 lambda表达式中只能为函数式接口创建实例。
• 匿名内部类可以为抽象类甚至普通类创建实例;但lambda表达式只能为函数式接口创建实例。
• 匿名内部类实现的抽象方法可以允许调用接口中定义默认方法。但lambda表达式的代码块不允许调用接口中定义默认方法。
网页链接:
https://blog.csdn.net/qq_38078822/article/details/80836539
https://www.jianshu.com/p/4d328d2d0d62
lambda表达式
最新推荐文章于 2023-06-12 17:00:41 发布