我可以看到reflect.runtime.TypeRef
比reflect.runtime.Type
有三种额外的方法,但是两者的主要区别是什么?为什么Type
已经不包含那些方法?我应该如何检索TypeRef
的值?
最佳答案
canonical type pattern match显示不是TypeRef
的所有内容,即TypeRef
提取程序之后的所有内容。
例如,方法类型不采用与类相同的方式接受类型参数。 f[Int]
并不表示“ f专用于Int”,方式是List[Int]
是List[Any]
的子类型,或者类似地表示String => Int
和String => Any
。因此,方法类型没有类型args。