Почему примитивные типы, такие как Int, стираются до Object в Scala?

В Скала,

{ x: Option[Int] => x }
  .getClass
  .getMethod("apply", classOf[Option[_]])
  .getGenericParameterTypes

возвращает Array(scala.Option). Сначала я ожидал увидеть вместо этого Array(scala.Option), но вижу, чтоscala.Intявляется классом значений (расширяетAnyVal)«экземпляры которых не представлены как объекты базовой хост-системой».

Я до сих пор не понимаю стирание Object. Разве это не может быть гораздо полезнее java.lang.Integer?

15
задан Seth Tisue 20 October 2015 в 18:09
поделиться