我可以看到reflect.runtime.TypeRef
在reflect.runtime.Type
上有三种额外的方法,但两者之间的主要区别是什么?为什么Type
已经包含这些方法?我应该如何检索TypeRef
?
答案 0 :(得分:4)
canonical type pattern match显示的不是TypeRef
的所有内容,即TypeRef
提取器后的所有内容。
例如,方法类型不像类那样采用类型参数。 f[Int]
并不意味着“f专门针对Int”List[Int]
是List[Any]
的子类型,或类似于String => Int
和String => Any
的方式。所以方法类型没有类型args。