原始类型 != 类型擦除

发布者    |      

关于这个讨论,有必要明确大家可能都知道,但有时在谈话中似乎有些混淆的事情:Java对原始类型的支持(为了与泛型之前的代码向后兼容)实际上与类型参数擦除没有什么关系。在一个假设的语言中

  • 你可以有原始类型而没有类型参数擦除,或者
  • 你可以有类型参数擦除而没有原始类型。

当然,原始类型有其自身的问题(它们是类型系统中的设计缺陷)。但为原始类型的存在进行辩护并不意味着为部分重化的类型进行辩护。


返回顶部