java8方法引用与构造器引用

2024-11-21 03:22:42

1、为什么使用方法引用:若Lambda体中的内容已经实现了,我们可以使用"方法引用“,可以理解为方法引用是Lambda表达式的另外一种表现形式

2、第一种语法:对象::实例方法名public void test1() { Consumer<String> con = (x) -> System.out.println(x); Consumer<String> consumer = System.out::println; consumer.accept("我是帅哥"); }

java8方法引用与构造器引用

3、第二种语法:类::静态方法名注意事项1、Lambda体中调用方法的参数列表与返回值类型要与脑栲葱蛸函数式接口中抽象方法的函数列表与返回值类型保持一致!public void test2() { Comparator<Integer> comparator = (x,y) -> Integer.compare(x,y); Comparator<Integer> com = Integer::compare; }

java8方法引用与构造器引用

4、第三种语法:类::实例方法名如果第一个参数是调用者,第二个参数是被调用者,则可以使用这种方式倦虺赳式@Test public void test3() { BiPredicate<Str足毂忍珩ing,String> biPredicate = (x,y) -> x.equals(y); BiPredicate<String,String> bp = String::equals; }

java8方法引用与构造器引用

5、Lambda中若参数列表中第一个参数是实例方法的调用,而第二个参数是实例方法的参数时,可以使用ClassName::method调用。

java8方法引用与构造器引用

6、查看执行结果

java8方法引用与构造器引用
猜你喜欢