api具有FunctionN(0-22)ProductN(1-22)TupleN(1-22) 问题是: 1.为什么数字是22的结尾?为什么不是21或23? 2.为什么功能从0开始?但是Product和Tuple不是吗?
答案 0 :(得分:12)
让Product
或Tuple
不包含任何元素是没有意义的。这些等同于Unit
。
Function0
存在是因为函数不一定采用参数(例如,在名称参数的情况下)。
在Tuple22
和Function22
的情况下,我无法分辨为什么Scala团队选择22作为最大值,但是对于那些需要超过22个参数的许多成员或函数来说,确实很难尴尬
虽然JVM可以处理的方法有多少参数存在限制。