Java多线程:Lambda 表达式

什么是Lambda 表达式

Lambda 表达式,也可称为闭包,它是Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变的更加简洁紧凑。

Lambda表达式的重要特征

    可选类型声明:不需要声明参数类型,编译器可以统一识别参数值 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号 可选的大括号:如果主体包含了一个语句,就不需要使用大括号 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定表达式返回了一个数值。

Lambda 表达式实例

public class TestLambda {
          
   

    //3、静态内部类
    static class Like2 implements ILike {
          
   
        @Override
        public void lambda() {
          
   
            System.out.println("i like lambda2");
        }
    }

    public static void main(String[] args) {
          
   
        ILike like = new Like();
        like.lambda();

        like = new Like2();
        like.lambda();




        //4、局部内部类
        class Like3 implements ILike {
          
   
            @Override
            public void lambda() {
          
   
                System.out.println("i like lambda3");
            }
        }
        like = new Like3();
        like.lambda();

        //5、匿名内部类,没有类的名称,bicultural借助接口或者父类
        like = new ILike() {
          
   
            @Override
            public void lambda() {
          
   
                System.out.println("i like lambda4");
            }
        };
        like.lambda();

        //6、用lambda简化
        like = ()->{
          
   
            System.out.println("i like lambda5");
        };
        like.lambda();

    }

}

//1、定义一个函数式接口
interface ILike{
          
   
    void lambda();
}
//2、实现类
class Like implements ILike{
          
   
    @Override
    public void lambda() {
          
   
        System.out.println("i like lambda");
    }
}

执行结果如下:

i like lambda
i like lambda2
i like lambda3
i like lambda4
i like lambda5

使用 Lambda 表达式需要注意:

    lambda表达式只能有一行代码的情况下才能化简成为一行,如果有多行那么就用代码块包裹 前提必须是函数式接口 多个参数也可以去掉参数类型,要去掉都去掉
经验分享 程序员 微信小程序 职场和发展