How can I use primitives in Scala?

If you want Scala to store unboxed primitives, you could use Array[Int] but refrain from using any cool Scala collection method on it (because it will force boxing).

If you look for immutable collections of primitives types, you can have a look at Debox, which provides specialised Buffers, Sets and Maps. The project is still evolving but it is very promising.


You can use the @specialised annotation to let the compiler create specialised instances of a class for you. See this article.

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