0
スカラで抽象ジェネリッククラスのサブクラスを返そうとしていますが、コンパイルされません。私はを取得します。タイプAの式は、予想されるタイプBに適合しません。ここ がコードである私が使用しています:スカラ:抽象ジェネリックスーパークラスをサブクラス化できません
abstract class AA[T](val var1: String){
def doSomething(): T;
}
class BB(override val var1: String) extends AA[Int](var1){
override def doSomething(): Int = {
return 5
}
}
object Factory {
def create(v: String) : AA[Any] = {
return new BB("5") // this is the error
}
}
をの署名が)(何を作るべきか?
おかげ
をしていますが、 'return'を必要としないとセミコロンを必要としないことに注意してください:あなたは
T
でAA
共変をすることによってこの問題を解決することができます –