我绝对对 Scala 类型推理引擎感到非常兴奋,但在现实世界的环境中:
最佳答案
Scala 精心设计且功能强大的类型仅在编译期间存在 (*):它们从源代码(您提供它们的地方)解析、推断、检查,然后最后被丢弃。最后一个听起来可能很荒谬,但它是 JVM 的操作方式(参见 type erasure),从语言设计者的角度来看非常有用。
因此,要回答您的问题:在运行时,类型是显式给出还是推断出没有区别,唯一的区别在于编译程序所需的时间。
(*) 2.10 版本将附带一个反射库,允许程序在运行时访问其类型信息;这提供了更多的自由——如果使用它当然会在运行时消耗 CPU 周期——但不会改变上述任何一点。
关于scala - 类型推断有多昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13784972/