Всем доброго времени суток,
Мне нужно создать Typed Class с функцией Typed для анализа Array [String] и возврата Array [OutputType]
class Data()
class IntData(var element: Int) extends Data
class BoolData(var element: Boolean) extends Data
class ArrayParser[OutputType <: Data]() {
def parse(in: Array[String]): Array[OutputType] = {
in.map(s => parseRecord(s))
}
}
Я пытался:
def parse(in: Array[String]): Array[OutputType] = {
in.map(s => {
import scala.reflect.runtime.universe._
if (typeOf[OutputType] =:= typeOf[IntData])
new IntData(s.toInt)
else
new BoolData(s.toBoolean)
})
}
но я получил ошибку: Выражение типа Array [Data] не соответствует ожидаемому типу Array [OutputType]
Что я могу сделать длявыполнить требования?
Спасибо за вашу помощь.