我有一个功能栏
def Bar[F :TypeTag ](fList: List[String]): (F) = {
typeOf[F] match {
case t if t =:= typeOf[FooA] => returnsomething.asInstanceOf[F]
case t if t =:= typeOf[FooB] => returnanother.asInstanceOf[F]
}
}
然后我想要使用类型约束,那些Bar只接受Foo-child类型。 但我不能使用这种结构
def getFilter[F <:Foo:TypeTag ](fList: List[String]): (F) = {
typeOf[F] match {
case t if t =:= typeOf[OpsosFilter] => OpsosFilter(loadFilter[String](fList)).asInstanceOf[F]
case t if t =:= typeOf[OrganizationFilter] => OrganizationFilter(loadFilter[Long](fList)).asInstanceOf[F]
}
我如何解决我的问题?