方法引用的使用 jdk8

   //方法引用与函数试接口
        //前提,lambda是特定匿名内部类(只有一个方法需要实现的接口,也就是函数式接口)的简化,方法引用是lambda的简化
        //因为executor是函数式接口,所以实例化的方法只能是  void execute(Runnable command); 如2 所以 2可以简化成3
        //可以看到简化后入参一致,返回一致
        //又因为逻辑只有一行,他还可以继续简化为方法引用


        //方法引用的作用:可以在一定条件下简化lambda表达式写法,旨在编写更加简洁紧凑的代码风格,提高代码重用率,不提高执行效率。
        //
        //可简单理解为:如果一个lambda表达式大括号中的代码仅仅是调用了另外一个方法,此时可用方法引用替换此lambda表达式。
        //
        //注意:方法引用旨在简化lambda表达式写法,在lambda表达式的基础上使用,不能脱离lambda表达式单独使用。
        //————————————————
        //版权声明:本文为CSDN博主「雨橄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
        //原文链接:https://blog.csdn.net/xiao_yu_gan/article/details/124704697

        //不要单独看方法引用,也不要把他想的太复杂




        //1
        Executor executor=Runnable::run;
        //2
        Executor executor2= new Executor() {
            @Override
            public void execute(Runnable command) {
                command.run();
            }
        };

        //3
        Executor c = (r) ->  r.run();


        //4
        Collections.emptyList().stream().filter(r-> Objects.nonNull(r)).filter(Objects::nonNull).count();



posted @ 2023-04-20 14:54  大哥超帅  阅读(15)  评论(0编辑  收藏  举报