Я читал блог Neal Gafter и до сих пор неясно, в каком количестве баллов.
Почему невозможно создать реализации API коллекций, которые сохраняют информацию о типе, учитывая текущее состояние Java, JVM и 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 class для получения информации о типе.
Почему для сохранения информации об общем классе требуется изменение языка, а не просто изменение реализации JVM?
Что я не понимаю?