でジェネリック型パラメータを指定して私はスカラ座に新たなんだと、Javaで書かれた汎用的な方法で持ってScalaの
class Mcls(ctx: Context){
val str = ctx.[Optional[String]]get("str").get //error
}
は、ジェネリック型パラメータを指定する方法はありますスカラでasInstanceOf[Optional[String]]
を短絡しましたか?
でジェネリック型パラメータを指定して私はスカラ座に新たなんだと、Javaで書かれた汎用的な方法で持ってScalaの
class Mcls(ctx: Context){
val str = ctx.[Optional[String]]get("str").get //error
}
は、ジェネリック型パラメータを指定する方法はありますスカラでasInstanceOf[Optional[String]]
を短絡しましたか?
asInstanceOf[Optional[String]]
は、原因型消去に動作するように起こっていても、この場合は単に間違っています。パラメータを指定するには、直接、あなたはJavaでctx.<String> get("str")
への直接同等です
ctx.get[String]("str")
を記述します。
は、私はあなたがこの短いにタイプの別名を使用することができると思うし、それがキャスト型に不要です。
type MY_TYPE = Optional[String]
val str: MY_TYPE = ctx.get("str") //it's unnecessary get in here, since the `get` method already return `MY_TYPE`, and specify type after variable, the compiler will auto infer the generic type for this.
println(str)
val str: Optional[String] = ctx.get("str")
とする必要があります。
そしてそうすべきであるval str = ctx.get[String]("str")