我已经阅读了尼尔·古夫特(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实现更改?
我不明白什么?