Scala “a”是什么&书信电报;精细化>&引用;通过TypeTag获得的类型?
我有一个方法:Scala “a”是什么&书信电报;精细化>&引用;通过TypeTag获得的类型?,scala,reflection,implicits,Scala,Reflection,Implicits,我有一个方法: import scala.reflect.runtime.universe.{TypeTag,typeOf} def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString) 大多数情况下,调用时,print[MyClass]会打印MyClass,但有时它会打印 我正在处理一个相当复杂的系统(多个相互连接的jar,100K行代码),我似乎无法确定是什么决定了这是一种行为还是另一种行为。但是如果我知道的意思,或
import scala.reflect.runtime.universe.{TypeTag,typeOf}
def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString)
大多数情况下,调用时,print[MyClass]
会打印MyClass
,但有时它会打印
我正在处理一个相当复杂的系统(多个相互连接的jar,100K行代码),我似乎无法确定是什么决定了这是一种行为还是另一种行为。但是如果我知道
的意思,或者知道是什么触发了它,也许我可以?改进可以解释为匿名类类型。例如
import scala.reflect.runtime.universe.{TypeTag,typeOf}
def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString)
class C
trait T
print[C with T]
type A = C with T
print[A]
在这两种情况下,输出都是
。改进可以解释为匿名类类型。例如
import scala.reflect.runtime.universe.{TypeTag,typeOf}
def print[T:TypeTag] = println(typeOf[T].typeSymbol.name.toString)
class C
trait T
print[C with T]
type A = C with T
print[A]
在这两种情况下,输出都是