方法引用和构造器引用、数组引用
方法引用
- 要传给lambda的操作,如果有已经实现的方法,就可以使用方法引用
- 要求:实现接口的抽象方法的参数列表和返回值类型,必须和方法引用的方法的参数类型和返回值类型一样。
- 三种使用情况
- 对象:非静态方法名
- 类:静态方法名
- 类:非静态方法名
构造器引用
和方法引用类是,函数的形参列表和构造器的形参列表相同,函数的返回值和构造出实例相同
数组引用
可以把数组看作特殊的类,写法一样
public class test {
public static void main(String[] args){
A a = new A();
//方法引用
Supplier<String> su = a::getTest;
//构造器引用
Supplier<String> su1 = String::new;
//数组引用
Function<Integer,String[]> function = String[] :: new;
}
}
class A {
String getTest(){
return "这是个方法引用";
}
}