如何在Scala中使用原语?

时间:2012-10-26 09:29:38

标签: scala primitive-types

我可以在Scala中使用原语吗?

用例用于存储数十亿的整数,因此4个字节(对于int)和16个字节(对于整数)之间的差异很重要。

2 个答案:

答案 0 :(得分:15)

如果您希望Scala存储未装箱的基元,您可以使用Array[Int]但不要在其上使用任何酷酷的Scala收集方法(因为它会强制装箱)。

如果您查找基元类型的不可变集合,可以查看Debox,它提供专门的缓冲区,集合和映射。该项目仍在不断发展,但非常有前途。

答案 1 :(得分:12)

您可以使用@specialised注释让编译器为您创建类的专用实例。请参阅this article

class Container[@specialized(Int) T](value: T) {
  def apply(): T = value
}