在Java 8中进行一些函数式编程时,我需要像在任何其他函数式编程语言中一样使用元组,但是我发现语言设计者可能通过创建
Bifunction
来解决元组的需求。如果您需要使用两个参数的函数,则必须使用Bifunction而不是Function,但我找不到任何关于此的文档,Java 8是否真的缺少元组,或者Bifunction可以替代它的使用?注意:这个问题不是“Java SE 8是否有Pairs或Tuples?”因为大多数人都是Bifunction,而另一个问题中没有提到它,我认为现在问题标题更具描述性。
Function<Pair<T,U>, R>
,那么是的,您应该使用BiFunction<T,U,R>
。没有明确的文档告诉您这一点。另一种方法是自己创建一个类似于元组的类(但具有比left()
和right()
更合理的访问器方法),然后使用它。 - aioobe