【问题标题】:Why the name IntSupplier and not ToIntSupplier? [closed]为什么名称 IntSupplier 而不是 ToIntSupplier? [关闭]
【发布时间】:2020-10-27 16:04:08
【问题描述】:

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

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

但供应商的原始专业化名称如下: BooleanSupplier/DoubleSupplier/LongSupplier/IntSupplier,其中返回类型是指定类型。

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

【问题讨论】:

  • 不,他们不应该。 ToBooleanSupplier 没有任何意义。
  • 可能是因为To 表示发送,Supplier 表示接收。

标签: java functional-interface


【解决方案1】:

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

“供应商”一词表示一个不接受输入并返回一些值的函数。它提供值。没有输入,只有输出。

添加“to”将是多余的和/或误导性的:多余的,因为它返回值的事实已经由单词“supplier”表示;误导,因为没有转换。这些值是凭空产生的。

【讨论】:

    猜你喜欢
    • 2020-07-21
    • 2021-01-05
    • 2011-09-25
    • 1970-01-01
    • 2015-07-10
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多