Scala - 提取任一类型参数

Tim*_*lim 3 generics types type-systems scala

是否可以在Scala中提取类型参数,如下所示:

def some[T <: Either[A, B]](implicit ta: TypeTag[A], tb: TypeTag[B]): T = {
  // A =:= String
  // B =:= Int
  // ...
}

some[Either[String, Int]]()
Run Code Online (Sandbox Code Playgroud)

sen*_*nia 6

您可以像这样重写您的方法:

def some[A, B](implicit ta: TypeTag[A], tb: TypeTag[B]): Either[A, B] = ???
Run Code Online (Sandbox Code Playgroud)