Java中Scala的数组[Int] v / s int []的内存比较?

时间:2014-11-17 06:48:18

标签: java scala jvm

他们会占用相同数量的内存吗?数组是一个抽象类,所以它会导致任何对象标题成本?对于Scala中的其他Java基元数组是否相同?

PS:我在某处读过Scala将它们存储为JVM中的原始数组,但现在很困惑。

2 个答案:

答案 0 :(得分:7)

Scala的Array [T]完全表示为Java的T [],没有开销。它们生成相同的字节码。您还具有ArrayOps提供的操作,但它是隐式转换,不会影响纯Array [T]表示。

答案 1 :(得分:0)

如果您不关心几个字节(Scala Array vs Java array标头)的潜在差异,它们在内存使用方面大致相同,因为Scala Int是表示为Java原语int

http://www.scala-lang.org/api/current/index.html#scala.Int