1.Supplier 接口说明
提供者
接口
核心方法T get()
: 无参,只有一个返回值
* 说明 :
* 1.接口名称 : Supplier
* 2.方法 T get();
* 无参数
* 一个提供返回值的方法,
* 3.应用场景 :
* 当你需要一个返回值的时候,可以直接使用此方法
2.使用案例
2.1 案例代码
package com.northcastle.G_functionalInterface;
import java.util.Random;
import java.util.function.Supplier;
public class SupplierTest {
public static void main(String[] args) {
// 1.原来的 匿名内部类 的写法
Integer randomNum01 = getRandomNum(new Supplier<Integer>() {
@Override
public Integer get() {
int i = new Random().nextInt(500);
System.out.println("匿名内部类的方式 随机数是 :"+i);
return i;
}
},100);
System.out.println("匿名内部类的方式 增加的值是 :100");
System.out.println("匿名内部类的方式 获取到的数值是 : "+randomNum01);
System.out.println();
//2.lambda 表达式的方式
Integer randomNum02 = getRandomNum(() ->{
int i = new Random().nextInt(500);
System.out.println("Lambda表达式的方式 随机数是 :"+i);
return i;
},100);
System.out.println("Lambda表达式的方式 增加的值是 :100");
System.out.println("Lambda表达式的方式 获取到的数值是 : "+randomNum02);
}
/**
* 方法介绍 : 获取一个随机数,并且这个随机数需要加上一个值后返回
* @param supplier : 函数式接口的提供者
* @param addNum : 增加的值
* @return
*/
public static Integer getRandomNum(Supplier<Integer> supplier,Integer addNum){
//1.使用函数式接口的 get() 方法获取一个随机数
Integer integer = supplier.get();
//2.获取到的随机数 + 固定的参数值
integer += addNum;
//3.将数据进行返回
return integer;
}
}
2.2 运行结果
3.完成
Congratulations!
You are one step closer to success!