我有一些带有类型标签的 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]
将始终是具体的
关于scala - 手动创建类型标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47997764/