方法引用,用於精減lambda表示式
阿新 • • 發佈:2020-07-26
對像::方法名,如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);
}
}