为什么是供应商而不是生产商?

kou*_*sen 7 java java-8

这是一个非常简单的问题,但这里的某个人必须知道,所以这里有一个让他们获得分数的简单方法。

在Java 8,有四类的功能接口在java.util.function包:ConsumerSupplierFunction,和Predicate。AFunction将单个输入转换为单个输出。APredicate将输入转换为boolean.

ConsumerSupplier中的单个抽象方法的签名本质上是相反的:

对于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,就像生产者-消费者问题一样。

所以我(诚然有些愚蠢)的问题是,为什么不SupplierProducer?我失踪有明显的原因吗?