Scala 手动创建类型标记

Scala 手动创建类型标记,scala,scala-reflect,Scala,Scala Reflect,我有一些带有类型标记的Scala代码,需要为Java用户提供这些代码。我的问题归结为解决以下问题: 给定两个Scala类型标记,如何手动为Tuple2[a,B]创建类型标记 如果有什么不同的话,我的具体情况就简单一点: 我有一个A的类型标记,需要为Tuple2创建一个类型标记[String,A]类型标记通常用作隐式标记,因此隐式系统非常熟悉它们。只需告诉Scala您想要什么类型,并隐式地要求它 def tupleTag[A : TypeTag, B: TypeTag]: TypeTag[Tupl

我有一些带有类型标记的Scala代码,需要为Java用户提供这些代码。我的问题归结为解决以下问题:

给定两个Scala类型标记,如何手动为Tuple2[a,B]创建类型标记

如果有什么不同的话,我的具体情况就简单一点:
我有一个A的类型标记,需要为Tuple2创建一个类型标记[String,A]

类型标记通常用作隐式标记,因此隐式系统非常熟悉它们。只需告诉Scala您想要什么类型,并隐式地要求它

def tupleTag[A : TypeTag, B: TypeTag]: TypeTag[Tuple2[A, B]] = implicitly
如果可以实例化,Scala将这样做。如果不能,则是编译器错误。在这种情况下,由于
A
B
已经是具体的(因为它们有标记),
Tuple2[A,B]
也将始终是具体的