Scala Long - 对象?

Kev*_*ith 1 scala long-integer

Scala-Lang文档说:

Long,一个 64 位有符号整数(相当于 Java 的 long 原始类型)是 scala.AnyVal 的子类型。Long 的实例不由底层运行时系统中的对象表示。

Java 有long(原始的)和Long(装箱的)。

Scala 有boxed这个原语的版本吗?

dhg*_*dhg 5

Scala 默默地装箱和拆箱,所以只有一个类。编译器会在可能的情况下尝试使用原始值,并在不能时使用装箱值。这是使用值类机制发生的,这些类具有特定的属性,允许编译器在可能的情况下将它们分开。

更多关于值类:http : //docs.scala-lang.org/overviews/core/value-classes.html

  • 从技术上讲,`Long` 是一个特例,而不是派生自值类规则的东西。最好不要期望“Long”遵守这些规则。 (6认同)