4
什么是泛型泛型?它们如何解决“类型擦除”问题?为什么不进行重大更改就不能添加它们?
我已经阅读了尼尔·古夫特(Neal Gafter)关于该主题的博客,但在很多方面仍不清楚。 为什么在给定Java,JVM和现有collection API当前状态的情况下,无法创建Collections API的实现来保留类型信息?这些难道不能以保留向后兼容性的方式替换Java未来版本中的现有实现吗? 举个例子: List<T> list = REIList<T>(T.Class); REIList是这样的: public REIList<T>() implements List { private Object o; private Class klass; public REIList(Object o) { this.o = o; klass = o.getClass(); } ... the rest of the list implementation ... 并且这些方法使用Object o和Class klass来获取类型信息。 为什么保留通用类信息需要更改语言而不仅仅是JVM实现更改? 我不明白什么?