私の知る限り、Javaでは
Object o = new String("abc")
String s = (String) o
しかし、これを Scala で書き直すにはどうすればよいでしょうか?
val o: java.lang.Object = new java.lang.String("abc")
val s: String = // ??
私が使用したい Java ライブラリは、java.lang.Object
より具体的な型 (このライブラリでも定義されています) にキャストする必要がある戻り値を返します。Java の例は、私の最初の例とまったく同じように実行されますが、source: TargetType
Java の代わりにScala を使用するだけでは(TargetType)source
機能しません。
ベストアンサー1
もし、あんたが絶対にしなければならないたとえば、Java ライブラリとの互換性を保つために、以下を使用できます。
val s: String = o.asInstanceOf[String]
ただし、一般的には、asInstanceOf
コードの臭いがあり、避けるべきです。