S0rin
S0rin

Reputation: 1293

How can I use primitives in Scala?

Can I use primitives in Scala?

The use case is for storing billions of ints, so the difference between 4 bytes (for an int) and 16 bytes (for an Integer) is important.

Upvotes: 17

Views: 5498

Answers (2)

Malte Schwerhoff
Malte Schwerhoff

Reputation: 12852

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
}

Upvotes: 13

paradigmatic
paradigmatic

Reputation: 40461

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.

Upvotes: 15

Related Questions