背景
在第44项的Effective Java中,作者建议使用标准功能接口(而不是定义自定义接口(。关于java.util.function
包,作者:
-
列出了六种基本形式:
UnaryOperator<T>
、BinaryOperator<T>
、Predicate<T>
、Function<T, R>
、Supplier<T>
、Consumer<T>
; -
解释了对基元类型进行操作的六种基本形式中的每一种都有三种变体,例如
IntPredicate
、LongBinaryOperator
和LongFunction<int[]>
; -
在下一段中提到了以下内容:
Function
接口还有九个附加变体。。。如果源是基元,结果是对象引用,则在Function前面加上SrcToObj
,例如DoubleToObjFunction
(三种变体(。
问题
作者提到的DoubleToObjFunction
在哪里?
请注意,在上面的第三个要点中,他使用了";九种附加变体";,并且因此不可能引用CCD_ 15,因为这将是第二要点中所覆盖的。
我尝试了在谷歌上搜索引号中的函数名,还查看了Java.util.function上的最新Java文档,但似乎找不到任何内容。
Java 8中没有名为DoubleToObjFunction、LongToObjFunction和IntToObjFunctions的接口,而是名为ToDoubleFunction、ToLongFunction和ToIntFunction的接口,作者在第44项中没有提到这些接口。这可能是一个勘误表。