J S*_*ith 5 java generics type-erasure
我们可以在.NET中解决这个问题:
interface I<A> {}
interface I<A, B> {}
Run Code Online (Sandbox Code Playgroud)
...但在Java中,相同的代码将导致编译错误.
这很有趣,因为即使类型信息在运行时消失,人们也会期望有关类型参数数量的信息仍然存在.
如果此限制与类型擦除有关,有人可以解释原因吗?
它与类型擦除无关,而与使用原始类型产生的模糊性无关:
I eye = null; // which 'I' is it?
Run Code Online (Sandbox Code Playgroud)
允许使用原始类型以容纳在JDK 5.0中引入泛型之前编写的代码.
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |