Supplier
与Consumer相反,Supplier只提供返回值,无参数。
java
@FunctionalInterface
public interface Supplier<T> {
/**
* Gets a result.
* 获得返回值
* @return a result
*/
T get();
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
JDK中的使用场景
- java.util.stream.Collectors
- java.util.concurrent.CompletableFuture#supplyAsync
- java.util.Optional
- java.util.stream.Stream
扩展接口
- BooleanSupplier:返回值为
boolean
的Supplier - IntSupplier:返回值为
int
的Supplier - LongSupplier:返回值为
long
的Supplier - DoubleSupplier:返回值为
double
的Supplier