为什么命名为 IntSupplier 而不是 ToIntSupplier?

Why the name IntSupplier and not ToIntSupplier?

我对 javax.util.function 包中可用的默认功能接口名称中使用的命名约定有点困惑:

例如,Function 的原始特化具有如下名称: IntFunction/LongFunction/DoubleFunction 其中 参数类型 是指定类型

但是 Supplier 的原始专业化名称如下: BooleanSupplier/DoubleSupplier/LongSupplier/IntSupplier 其中 return type 是指定类型。

如果比较 java.util.function 中其他接口的名称和功能,这些名称不应该是这样的: ToBooleanSupplier/ToDoubleSupplier/ToLongSupplier/ToIntSupplier?

ToIntFunctionToDoubleFunction 等中的“to”一词表示正在将某些内容转换为其他内容。正在将函数的输入参数转换为 int/double/whatever.

“供应商”一词表示不接受任何输入和 returns 一些值的函数。它 提供 值。没有输入,只有输出。

添加“to”将是多余的 and/or 误导:多余,因为它 returns 值的事实已经由“供应商”一词表示;误导,因为没有转换。这些值是凭空产生的。