Lambda概述

Lambda概述,第1张

1.Lambda表达式是JDk8开始后的一种新的语法形式; 2.作用:简化匿名内部类的代码写法; 3.Lambda表达式的简化格式:

(匿名内部类被重写方法的行参列表)->{

          被重写方法的方法代码

}

注:->是语法形式,无实际意义

注意:Lambda表达式只能简化函数试接口的匿名内部类的写法形式

4.什么是函数式接口:

1.首先必须是接口,其次接口中有且仅有一个抽象方法的形式。

2.通常我们会在接口上加上一个

5.Lambda表达式的基本作用:

1. 简化函数式接口的匿名内部类的写法,如以下代码便是Lambda式最基础的使用;

//函数式接口
@FunctionalInterface//通常我们会在接口上加上函数式接口标识符
public interface Swimming {
    void swim();    //函数式接口只有一个抽象方法
}
//匿名类的使用
 public static void main(String[] args) {
        goSwimming(new Swimming() {
            @Override
            public void swim() {
                System.out.println("铁子 我们去游泳");
            }
        });
    }
    public static void goSwimming(Swimming swimming){
        swimming.swim();
    }
//匿名内部类的使用
public static void main(String[] args) {
        goSwimming(() -> {
            System.out.println("铁子,我们去游泳!!");
        });
    }
    public static void goSwimming(Swimming swimming) {
        swimming.swim();
    }
 6.Lambda表达式有什么前提:

1.必须是接口的匿名内部类,接口中只能有一个抽象方法;

7.Lambda的好处:

Lambda是一个匿名函数,我们可以吧Lambda的表达式理解为一段可以传递的代码,它可以写出更简洁,更灵活的代码,作为一种更紧凑的代码风格,使Java语言表达能力得到提升。

8.Lambda表达式省略规则:

1.如果方法中只有一个参数,哪么数据类型和小括号都可以省略;

2.如果方法中有多个参数,那么数据类型可以省略。

3.如果大括号只有一行代码,那么大括号,return,分号都可以省略(三个一起省略)

        Integer[] arr1 = {34, 12, 42, 23};
        Arrays.sort(arr1, new Comparator() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return 02 - 01;//降序
            }
        });
        //如果方法中有多个参数,那么数据类型可以省略。
        //如果大括号只有一行代码,那么大括号,return,分号都可以省略(三个一起省略)
        Arrays.sort(arr1, (o1, o2) ->
                02 - 01//降序
        );

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/756417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-30
下一篇 2022-04-30

发表评论

登录后才能评论

评论列表(0条)

保存