package com.atguigu;
/**
* 方法引用的使用:
* 1.使用情景:当要传递给Lambda体的操作,已经有实现的方法了,就可以使用方法引用
*
* 2.方法引用,本质上就是Lambda表达式,而Lambda表达式作为函数式接口的实例,所以方法引用也是函数式接口的实例。
*
* 3.使用: 类(或对象)::方法名
*
* 4.具体分为如下的三种情况:
* 情况1 对象::非静态方法
* //Consumer中的 void accept(T t)
* //PrintStream中 void printLn(T t)
* PrintStream ps=System.out;
* Consumer<String> con2=ps::printLn;
*
* 情况2 类::静态方法
* //Comparator中的int compare(T t1,T t2)
* //Integer中的int compare(T t1,T t2)
* Comparator<Integer> com1=Integer::compare;
*
* 情况3 类::非静态方法
* //Comparator中int compare(T t1,T t2)
* //String中的 int t1.compareTo(t2)
* Comparator<String> com1=String::compareTo;
*
* 5.方法引用使用的要求:要求要求接口中的抽象方法的形参列表和返回值类型与
* 方法引用的形参列表和返回值类型相同(针对于情况1和情况2)
*
* 6.构造器引用:
* 和方法引用类似,函数式接口的抽象方法的形参列表和构造器的形参列表一致
* 抽象方法的返回值类型即为构造器所属的类的类型
* //Supplier中的 T get()
* //Employee中的空参构造器:Employee()
* @author
* @create 2022-05-08-12:15
*/
public class MethodRef {
}
Java学习(尚硅谷)方法引用小知识点
最新推荐文章于 2024-05-16 20:42:16 发布