参考:https://blog.csdn.net/m0_61366135/article/details/130557475
函数式接口概述
- 有且仅有一个抽象方法的接口
- Java中的函数式编程体现就是Lambda表达式
- 所以函数式接口即可以适用于Lambda使用的接口
supplier
- Java 中的 Supplier 接口是一个函数式接口,它不需要任何参数输入,只负责输出一个结果
- T get():获得结果
- 该方法不需要参数,它会按照某种实现逻辑(由Lambda表达式实现)返回一个数据。
- Supplier接口也称为生产型接口,如果我们指定了接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据供我们使用
使用
//定义
Supplier<String> supplier = () -> "hello, world";
//使用
String result = supplier.get();
System.out.println(result);
应用场景
延迟计算
Supplier<LocalDateTime> currentTime = () -> LocalDateTime.now();
LocalDateTime now = currentTime.get(); // 计算当前时间
生成随机数
Supplier<Double> randomDouble = () -> Math.random();
double d = randomDouble.get(); // 产生一个随机数
标签:java,函数,get,接口,Supplier,supplier,Lambda
From: https://www.cnblogs.com/hasome/p/17698733.html