方法引用
方法引用是lambda表达式的一种简写方式。如果lambda表达式方法体中只是调用一个特定且存在的方法,则可以使用方法引用
常见形式:
对象::实例方法
类::静态方法
类::实例方法
类::new
public class Demo2 {
/**
* 方法引用
* @param args
*/
public static void main(String[] args) {
//对象::实例方法
//lambda表达式只调用一个方法 方法的参数和返回值和接口中抽象方法的一样
Consumer<String> con = s-> System.out.println(s);
con.accept("hello");
con.accept("世界你好");
Consumer<String> consumer =System.out::println;
consumer.accept("哈哈你好");
//类::静态方法
//lambda表达式只调用一个方法 方法的参数和返回值和接口中抽象方法的一样
Comparator<Integer> comparator = (o1, o2) -> Integer.compare(o1,o2);
Comparator<Integer> comparator1 = Integer::compare;
//类::实例方法
//lambda表达式只调用一个方法 一个参数作为发放的调用者,返回值一样
Comparator<String> comparator2 = (o1, o2) -> o1.compareTo(o2);
Comparator<String> comparator3 = String::compareTo;
//类::new
//lambda表达式只调用一个方法 构造方法参数和接口中的抽象方法参数一样
Supplier<Employee> supplier = ()->new Employee();
Supplier<Employee> supplier1 = Employee::new;
supplier.get();
MySupplier<Employee> mySupplier = Employee::new;
Employee wjj = mySupplier.get("wjj", 25);
System.out.println(wjj);
}
}