Какова цель типовых надписей в Scala?

В спецификации не так много информации о том, что такое начертание типа, и, конечно же, там нет ничего о цели для этого. Кроме того, чтобы "сделать прохождение varargs работающим", для чего я использовал бы атрибуцию типа? Ниже приведен некоторый scala REPL для синтаксиса и последствий его использования.

scala> val s = "Dave"
s: java.lang.String = Dave

scala> val p = s:Object
p: java.lang.Object = Dave

scala> p.length
<console>:7: error: value length is not a member of java.lang.Object
       p.length
         ^
scala> p.getClass
res10: java.lang.Class[_ <: java.lang.Object] = class java.lang.String

scala> s.getClass
res11: java.lang.Class[_ <: java.lang.Object] = class java.lang.String

scala> p.asInstanceOf[String].length
res9: Int = 4

Ответы на вопрос(5)

Ваш ответ на вопрос