JAVA单排日记-2020/2/4-方法引用—简介

在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作
那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑?

  • 根本目的:继续对Lambda表达式进行简化

例如

import java.util.function.Consumer;

public class Demo01 {
    public static void main(String[] args) {
        //使用Lambda表达式简化
        acceptMethod("你好",s-> System.out.println(s));

        /*对象System.out是已经存在的
        成员方法println也是已经存在的
        可以使用方法引用,使用对象System.out引用成员方法println,来简化Lambda表达式*/

        acceptMethod("你好",System.out::println);
        
    }

    public static void acceptMethod(String a,Consumer<String> consumer){
        consumer.accept(a);
    }
}

对象System.out是已经存在的
成员方法println也是已经存在的
可以使用方法引用,使用对象System.out引用成员方法println,来简化Lambda表达式

如果Lambda要表达的函数方案已经存在于某个方法的实现中,那么则可以通过双冒号来引用该方法作为Lambda的替代者
Lambda表达式写法: s -> System.out.println(s);
方法引用写法: System.out::println

发布了131 篇原创文章 · 获赞 1 · 访问量 4445

猜你喜欢

转载自blog.csdn.net/wangzilong1995/article/details/104170653
今日推荐