我可以在 Scala 中使用原语吗?
该用例用于存储数十亿个整数,因此 4 字节(对于整数)和 16 字节(对于整数)之间的差异很重要。
如果您希望 Scala 存储未装箱的原语,您可以使用Array[Int]
但不要在其上使用任何酷的 Scala 集合方法(因为它会强制装箱)。
如果您寻找原始类型的不可变集合,您可以查看Debox,它提供了专门的 Buffer、Set 和 Map。该项目仍在发展中,但非常有前途。
您可以使用@specialised
注解让编译器为您创建类的专用实例。见这篇文章。
class Container[@specialized(Int) T](value: T) {
def apply(): T = value
}