[英]In Scala, How to create TypeTag[Map[A,B]], while only TypeTag[A] and TypeTag[B] are available?
假設類型A和類型B在運行時都被擦除並且未知。
有沒有一種方法可以構造TypeTag [Map [A,B]]?
最好只使用顯式構造函數,因為在我的真實代碼中,A和B都是通配符(可以將類型參數分配給調用它們的2個函數,但是為什么只使用一次卻要提取2個方法呢?
謝謝你的想法。 任何建議表示贊賞。
最好只使用顯式構造函數,因為在我的真實代碼中,A和B都是通配符
尚不完全清楚,但是您是說您擁有tagA: TypeTag[_]
和tagB: TypeTag[_]
嗎? 如果是這樣,那么你可以做
(tagA, tagB) match {
case (tagA: TypeTag[a], tagB: TypeTag[b]) =>
implicit val tagA1 = tagA
implicit val tagB1 = tagB
typeTag[Map[a, b]]
}
有點丑陋和笨拙,但我認為目前還沒有更好的方法(並且很樂意學習其他方法)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.