Существует ли общая библиотека коллекций, обертывающая неуниверсальные коллекции?

У меня на работе была немного устаревшая JVM, которая поддерживает только Java 1.4. Я хотел бы использовать дженерики в своем коде, что возможно согласно этой статье http://www.ibm.com/developerworks/java/library/j-jtp02277/index.html. К сожалению, классы Collections в нашей библиотеке не являются универсальными и не могут быть заменены (это означает, что я не могу использовать http://download.oracle.com/otndocs/jcp/jsr14-2.4-ea-demo-oth-JPR/). Очевидное решение состоит в том, чтобы написать общие оболочки для всех основных классов - ArrayList, HashMap, HashSet и создать общие интерфейсы Map и т. д. Это довольно сложная работа, поэтому мне интересно, может ли уже быть библиотека, которая обеспечивает эту функциональность.


person Yuriy Kulikov    schedule 07.08.2012    source источник
comment
немного устарел? Попробуйте много устаревшего. Срок поддержки JDK 5 истек, и JDK 7 является текущим стандартом. Я бы рекомендовал как минимум обновиться до JDK 6.   -  person duffymo    schedule 07.08.2012
comment
Думаю, я не понимаю проблемы. Если вы разрабатываете свой код без дженериков, вам не нужно их добавлять, если вы хотите работать на JVM 1.4. Если ваш код написан с использованием дженериков, я думаю, что стирание типов удалит их из файла *.class.   -  person Christian Kuetbach    schedule 07.08.2012


Ответы (1)


Можете ли вы скомпилировать свой код для JVM 1.4?

Если ваш код скомпилирован для Java5 (6 или 7), вы, вероятно, получите "плохую версию в файле класса" -Error.

Если вы используете какую-либо скомпилированную библиотеку, все они должны быть скомпилированы для Java 1.4.

person Christian Kuetbach    schedule 07.08.2012
comment
Я могу скомпилировать с -source 1.5 и -target jsr14. В этом случае я могу использовать дженерики, но моя библиотека коллекций не является универсальной. - person Yuriy Kulikov; 07.08.2012
comment
Просто хочу уточнить, что ЛЮБОЙ код должен быть скомпилирован для Java 1.4. - person Christian Kuetbach; 07.08.2012