У меня есть метод, который анализирует JSON для объекта.В настоящее время у меня есть два def
, которые делают одно и то же, за исключением одного синтаксического анализа A
и других List[A]
.
Вот как это выглядит:
def parse[A <: V2Model](mf: Manifest[A]) = {
// doing parsing
}
def parseList[A <: V2Model](mf: Manifest[List[A]]) = {
// doing parsing of list
}
Это не очень читабельно иметь два одинаковых «def».Манифест не является неявным.
Есть ли способ сопоставить на Манифесте?
Я пробовал это без успеха:
def parse[A <: V2Model](mf: Manifest[A]) = {
mf match {
case _ : Manifest[List[A]] => // do list parsing
case _ : Manifest[A] => // do object parsing
}
}