Чтобы добавить к тому, что сказал Рики Кларксон, это работает
scala> "hi".asInstanceOf[java.io.Serializable]
res7: java.io.Serializable = hi
, но это не так,
scala> "hi".asInstanceOf[scala.Serializable]
java.lang.ClassCastException: java.lang.String cannot be cast to scala.Serializable
...
Без квалификации Serializable
в Scala означает scala.Serializable
,Обратите внимание, что строки в Scala имеют тип java.lang.String
;они "родные" для JVM и не знают о Scala.Согласно документации API , сериализуемая черта Scala существует для кроссплатформенной совместимости (Java и .NET).Если вы только на JVM, то java.io.Serializable
должно быть достаточно.