【发布时间】:2018-10-18 13:01:41
【问题描述】:
我有一个将 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'不太可读。清单不是隐含的。
有没有办法在 Manifest 上进行匹配?
我试过这个没有成功:
def parse[A <: V2Model](mf: Manifest[A]) = {
mf match {
case _ : Manifest[List[A]] => // do list parsing
case _ : Manifest[A] => // do object parsing
}
}
【问题讨论】: