java8 lambda表达式介绍 作者:马育民 • 2022-04-08 21:39 • 阅读:10058 # 介绍 lambda 表达式 是 java8 最重要的特性之一 lambda 表达式,并不是 java 特有的功能,python、JavaScript、scala 等开发语言,在早前就已经支持 lambda 表达式是简化代码的,也正是因为过度简化代码,导致可读性较差。 对于 java来说,不用 lambda 表达式,用传统写法,完全可行 # 应用场景 - 函数式接口 定义 **接口**,该接口 **有且只有一个抽象方法**,那么该接口称之为 **函数式接口** 编写其实现类时,就可以用 **lambda 表达式** # 案例 ### 定义 IMath 接口 定义接口,如下: ``` public interface IMath { //运算 int operation(int a, int b); } ``` **提示:** 因为 **有且只有一个抽象方法**,所以是 **函数式接口** ### 传统匿名类方式 ``` // 创建匿名类对象 IMath math = new IMath() { @Override public int operation(int a, int b) { return a+b; } }; int res = math.operation(1,2); System.out.println(res); ``` ### lambda表达式 因为是 **函数式接口**,所以可以用 lambda 表达式: ``` // lambda 表达式,保留 形参和实现,中间由 -> 分割 IMath math = (int a, int b) -> { return a+b; }; int res = math.operation(2,2); System.out.println(res); ``` # 总结 使用 lambda 表达式,不关心 **接口名**,**方法名**,**参数名**,只关注 **参数类型**,**参数个数**,**返回值** 原文出处:http://malaoshi.top/show_1IX361Wvt7Xy.html