如何在Scala中使用上下文绑定类型约束?

时间:2014-10-30 09:30:30

标签: scala generics type-constraints

我有一个功能栏

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]
}

我如何解决我的问题?

0 个答案:

没有答案