Lambda表达式的方法引用详解
1. 方法引用的概念与作用
- 定义:方法引用(Method Reference)是Lambda表达式的一种简化写法,允许直接通过方法名引用已有的方法。
- 核心目的:减少冗余代码,提升可读性,尤其在Lambda仅调用一个现有方法时。
- 语法符号:双冒号
::
。
2. 方法引用的四种类型
2.1 静态方法引用
Function<Double, Long> function=new Function<Double,Long>(){@Overridepublic Long apply(Double aDouble) {return Math.round(aDouble);}};System.out.println(function.apply(2.2));
Function<Double,Long> function1=(a)->Math.round(a);System.out.println(function1.apply(3.3));
Function<Double,Long> function3=Math::round;System.out.println(function3.apply(4.23));
2.2 实例方法引用(特定对象)
2.3 特殊方法引用(任意对象)
- 语法:
类名::实例方法名
- 适用场景:Lambda表达式的第一个参数作为方法调用者,其余参数作为方法参数。
- 示例:
BiPredicate<String, String> predicate1 = (s1, s2) -> s1.equals(s2);
BiPredicate<String, String> predicate2 = String