![]() |
1
11
多亏了 type erasure ,这个:
真正的意思是:
所以不,没有办法用更严格的参数类型重写。 在本规范中:
类名中的类型参数和方法中的类型参数实际上是不同的参数。这就像在更高的范围内声明一个与变量同名的局部变量。你可以打电话
|
![]() |
2
2
简而言之,答案是否定的。如果你用泛型参数定义一个方法,那么它的签名包含泛型,任何“重写”都必须与签名匹配(包含泛型)。 无论如何,这确实是泛型的一个糟糕的用法,因为您所写的在语义上与
一般位不会给您带来多大的好处,除非它被用于指示返回值,如:
但为什么要麻烦呢?泛型调用dosomething()真的有问题吗? |
![]() |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 2 年前 |
![]() |
milczi · Swift通用无强制展开向下投射 7 年前 |
![]() |
bugs · Typescript-泛型类型扩展自身 7 年前 |
![]() |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 7 年前 |
![]() |
Blankdud · 具有默认数据的通用对象创建方法 7 年前 |
![]() |
Tim Hutchison · 从泛型对象列表中读取泛型值 7 年前 |