这是一个非常简单的问题,但这里的某个人必须知道,所以这里有一个让他们获得分数的简单方法。
在Java 8,有四类的功能接口在java.util.function包:Consumer,Supplier,Function,和Predicate。AFunction将单个输入转换为单个输出。APredicate将输入转换为boolean.
Consumer和Supplier中的单个抽象方法的签名本质上是相反的:
对于Consumer<T>:
void accept(T t)
Run Code Online (Sandbox Code Playgroud)
而对于Supplier<T>:
T get()
Run Code Online (Sandbox Code Playgroud)
由于 aConsumer接受输入并且不返回任何内容而 a 不Supplier接受任何内容并返回值,因此它们感觉像是对立的。如果有人问我 a 的反义词是什么Consumer,我自然会想到Producer,就像生产者-消费者问题一样。
所以我(诚然有些愚蠢)的问题是,为什么不Supplier叫Producer?我失踪有明显的原因吗?
| 归档时间: |
|
| 查看次数: |
1479 次 |
| 最近记录: |