1. 程式人生 > 實用技巧 >方法引用,用於精減lambda表示式

方法引用,用於精減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);
}
}