并不是说我实际上已经接近这个极限,但我一直想知道:为什么他们停在Function22
/Tuple22
。 JVM 限制?任意选择?
函数和元组被编译器重写为对象,并且仅Function0
通过Function22
and Tuple0
通过Tuple22
被定义。我认为 22 的限制完全是任意的,但限制的原因却并非如此。
可以这样想:要运行 Scala 应用程序,运行它所需的类必须存在。如果编译器动态地为函数创建类,那么这些类将不会包含在 Scala 库 JAR 中,因此您必须将它们包含在您的应用程序中。这可能可行,但是您会遇到类的完全限定名称应该是什么的问题:如果所有应用程序的名称都相同,那么您就会发生冲突,因为库将包含相同的类,并且如果名称不是同样,您最终也会遇到不兼容性——库中的函数与应用程序中的函数不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)