Lambda表达式

Lambda是从JDK1.8推出的重要新特性。很多的开发语言都开始支持函数式编程。

面向对象的方法要求在于:结构必须非常完整。

使用函数式编程,要求接口只有一个方法。如果接口有多个方法,那么无法使用函数式编程。所以,如果某个接口就是为了函数式编程而生,那么最好在定义该接口的时候,就指明,加一个注解:@FunctionInterface

public class Lambda {
    @FunctionalInterface
    interface IMessage{
        public void print();
    }
    public static void main(String args[]){
        IMessage msg = () -> System.out.println("Hello world");
        msg.print();
    }
}

执行结果如下:

Lamda表达式的单行实现

实际上,对于以上的语法形式:

  • (参数) -> 单行语句:方法中只包含一行语句,只需要编写一行语句即可。
  • (参数)-> {多行语句}:如果返回计算结果,直接写语句即可,不需要写return。
public class Lambda {
    @FunctionalInterface
    interface IMath{
        public int add(int a,int b);
    }
    public static void main(String args[]){
       // 单行语句返回值直接写就可以,也不需要return
        IMath math = (a,b)->a+b;
        System.out.println(math.add(2,5));
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容