Java零基础学java之多线程--06Lambda表达式

Lambda表达式

  1. λ 希腊字母表中排序第十一的字母,英语名称为Lambda

  2. 避免匿名内部类定义过多

  3. 其实质属于函数式编程概念

    (params) -> expression[表达式]
     (params) -> statement[语句]
      (params) -> {
          
          statements}
    

    a -> System.out.println(“i like lambda” + a);

    new Thread(()->System.out.println(“多线程学习。。。”)).start();

理解 Functional Interface (函数式接口) 是学习Java8 lambda表达式的关键所在

函数式接口的定义:

  • 任何接口,如果只包含唯一一个抽象方法,那么他就是一个函数式接口

    public interface Runnable{
          
          
        public abstract void run();
    }
    

  • 对于函数式接口,我们可以通过lambda表达式来创建该接口的对象

推导lambda表达式

package com.li.lambda;

public class TestLambda02 {
    
    
    public static void main(String[] args) {
    
    

        //lambda表达式
        ILove love = (int a) ->{
    
    
                System.out.println("i love you ->" +a);
        };
        love.love(520);
        //简化参数类型和括号  多个参数要用括号 (a,b)
        ILove love2 =  a->{
    
    
            System.out.println("i love you ->" +a);
        };
        love2.love(521);
        //简化花括号:核心代码就一行,多行不可以简化花括号  (前提为接口是函数式接口)
        ILove love3 = a ->
            System.out.println("i love you ->" +a);
        love3.love(522);

    }
}
//定义一个函数式接口
interface ILove {
    
    
    void love(int a);
}


猜你喜欢

转载自blog.csdn.net/l1341886243/article/details/118342830
今日推荐