Supplier接口是从Java8开始引入的,它是java.util.function包的一部分,用于在Java中实现函数式编程。它一个不接受任何参数,但是生成一个类型为T值的函数。因此这个函数接口只接受一个泛型:
- T:表示一个结果的类型
分配给Supplier类型的对象是一个lambda表示式,用来生成它(这个Supplier类型的对象)的get()方法,而这个get()方法最终用来返回一个值。我们可以把Supplier的对象理解为是一个lambda表达式的一个引用。
Supplier接口仅由一个方法组成:
- get()
语法:
- T get()
返回值:返回一个类型为T的值
public class HelloUtils {
public String getUUID(){
return UUID.randomUUID().toString();
}
}
//-------------------- 调用示例 --------------------
//分配给Supplier的对象的值是,类HelloUtils的一个对象的getUUID()方法对应的lambda表达式
Supplier<String> supplier = () -> utils.getUUID();
System.out.println(supplier.get());