我已经阅读过Neal Gafter关于这个主题的博客,但我仍然不清楚其中的一些观点.
为什么在给定Java的当前状态,JVM和现有集合API的情况下,不可能创建保留类型信息的Collections API的实现?难道这些不能以保留向后兼容性的方式替换未来Java版本中的现有实现吗?
举个例子:
List<T> list = REIList<T>(T.Class);
Run Code Online (Sandbox Code Playgroud)
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 ...
Run Code Online (Sandbox Code Playgroud)
并且这些方法使用Object o和Class klass来获取类型信息.
为什么保留泛型类信息需要语言更改而不仅仅是JVM实现更改?
我不明白的是什么?