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

猜你喜欢

转载自www.cnblogs.com/aqihao/p/13381418.html