Lamda表达式概述与常见应用

一、Lamda表达式概念与要求

  1. 概念:
    Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构
  2. 要求:
    要实现的接口必须是函数式接口,即接口中只能有一个要被实现的方法,由于多线程中Runnable接口就是一个函数式接口,所以在多线程中Lamda表达应用广泛

例如以下这些都是函数式接口:

//无参数无返回
interface VoidNoParam{
    void  lambda();
}

//单参数无返回
interface VoidSingerParam{
    void lambda(int a);
}

//多参数无返回
interface VoidMultiParam{
    void lambda(int a,int b);
}

//无参数有返回
interface ReturnNoParam{
    int  lambda();
}

//单参数有返回
interface ReturnSingerParam{
    int lambda(int a);
}

//多参数有返回
interface ReturnMultiParam{
    int lambda(int a,int b);
}

二、Lambda表达式应用示例

Lambda表达式的语法形式为 () -> {},其中 () 用来描述参数列表,{} 用来描述方法体,-> 为 lambda运算符 ,读作(goes to),以下为无返回值的示例,有返回值的调用方法时候接收就好

VoidNoParam vnp=()->{
     System.out.println("无参数无返回");
 };
 vnp.lambda();

 VoidSingerParam vsp=(a)->{
     System.out.println("参数为"+a+"的多参数无返回");
 };
 vsp.lambda(3);

VoidMultiParam vmp=(a,b)->{
     System.out.println("参数为"+a+"和"+b+"的多参数无返回");
 };
  vmp.lambda(2,3);
        

输出结果

无参数无返回
参数为3的多参数无返回
参数为23的多参数无返回

你可能感兴趣的:(战略储备,java,lambda,接口)