Warum werden in Scala primitive Typen wie "In Objekt löschen" verwendet?

In Scala

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

kehrt zurückArray(scala.Option<java.lang.Object>). Ich hatte ursprünglich erwartet, stattdessen zu sehenArray(scala.Option<scala.Int>), aber ich sehe dasscala.Int ist eine Werteklasse (extendedAnyVal) 'deren Instanzen vom zugrunde liegenden Hostsystem nicht als Objekte dargestellt werden'.

Ich verstehe die Löschung immer noch nichtObjectobwohl. Könnte es nicht viel nützlicher seinjava.lang.Integer?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage