为什么命名为 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?
ToIntFunction
、ToDoubleFunction
等中的“to”一词表示正在将某些内容转换为其他内容。正在将函数的输入参数转换为 int/double/whatever.
“供应商”一词表示不接受任何输入和 returns 一些值的函数。它 提供 值。没有输入,只有输出。
添加“to”将是多余的 and/or 误导:多余,因为它 returns 值的事实已经由“供应商”一词表示;误导,因为没有转换。这些值是凭空产生的。
我对 javax.util.function 包中可用的默认功能接口名称中使用的命名约定有点困惑:
例如,Function 的原始特化具有如下名称: IntFunction/LongFunction/DoubleFunction 其中 参数类型 是指定类型
但是 Supplier 的原始专业化名称如下: BooleanSupplier/DoubleSupplier/LongSupplier/IntSupplier 其中 return type 是指定类型。
如果比较 java.util.function 中其他接口的名称和功能,这些名称不应该是这样的: ToBooleanSupplier/ToDoubleSupplier/ToLongSupplier/ToIntSupplier?
ToIntFunction
、ToDoubleFunction
等中的“to”一词表示正在将某些内容转换为其他内容。正在将函数的输入参数转换为 int/double/whatever.
“供应商”一词表示不接受任何输入和 returns 一些值的函数。它 提供 值。没有输入,只有输出。
添加“to”将是多余的 and/or 误导:多余,因为它 returns 值的事实已经由“供应商”一词表示;误导,因为没有转换。这些值是凭空产生的。