方法引用,用于精减lambda表达式
对像::方法名,如User::getName
package com.jeesite.modules.jiQiao.web;
import java.util.function.Consumer;
public class DemoConsumerTest01 {
public static void main(String[] args) {
// 使用lambda求数组和-原生写法
getSums((int[] arr) -> {
int sum = 0;
for (int i : arr) {
sum += i;
}
System.out.println(sum);
});
// 使用lambda求数组和-调用已经封装好的方法--冗余方法
getSums((int[] arr) -> {
getSum(arr);
});
// 使用方法引用-符合使用的场景说明:如果使用lambda表达式所有实现的方案,已经存在某个类的方法中,则可以使用方法引用,两上冒号--此处是方法引用
getSums(DemoConsumerTest01::getSum);
}
// 数组求和方法
public static Integer getSum(int[] arr){
int sum = 0;
for (int i : arr) {
sum += i;
}
System.out.println(sum);
return sum;
}
// 调用demoConsumer接口做一个求和方法
public static void getSums(Consumer<int[]> consumer){
int[] arr = {11,22,33,44,55};
consumer.accept(arr);
}
}