Lambda表达式

可以简化匿名内部类的书写

public static void main(String[] args) {
        Integer[] arr = {2, 4, 1, 5, 7, 4, 8, 0, 9, 2};
/*        Arrays.sort(arr, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }
        });*/
        Arrays.sort(arr, (Integer o1, Integer o2)-> {
                return o1 - o2;
            }
        );
        
        System.out.println(Arrays.toString(arr));
    }

函数式编程

是一种思想特点

面向对象:先找对象,让对象做事情

函数式编程思想,忽略面向对象的复杂语法,强调做什么,而不是谁去做

Lambda表达式就是函数时编程的思想体现

注意点

Lambda表达式可以简化匿名内部类的书写

Lambda表达式只能简化函数式接口的匿名内部类的书写

函数式接口:有且只有一个抽象方法的接口叫做函数式接口,接口上方可以加@FunctionnalInterFace注解

//1.利用匿名内部类的形式去调用
        //调用一个方法时,如果方法的形参是一个接口,那么我们要传递这个接口的实现类对象
        //如果实现类对象用到一次,就可以用匿名内部类的方法
        methed(new Swim() {
            @Override
            public void swimming() {
                System.out.println("游泳");
            }
        });

        //2.Lambda 表达式改写
        methed(
                ()->{
                    System.out.println("游泳!!!");
                }
        );
    }
    public static void methed(Swim s){
        s.swimming();
    }
}

interface Swim{
    public abstract void swimming();

1.Lambda表达式的基本作用

简化函数式接口匿名内部类的写法

2.Lambda表达式有什么使用前提?

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

3.Lambda的好处?

Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,它可以写出更简洁,更灵活的代码。。

Lambda表达式的省略写法

核心:可推导,可省略
参数类型可以省略不写

如果只有一个参数,参数类型可以省略,同时()也可以省略

如果Lambda表达式的方法体只有一行,大括号,分号,return可以省略不写,需要同时省略

Integer[] arr = {2, 4, 1, 5, 7, 4, 8, 0, 9, 2};
/*        Arrays.sort(arr, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }
        });*/
        Arrays.sort(arr, (o1, o2)-> o1 - o2);
        System.out.println(Arrays.toString(arr));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值