У меня на работе была немного устаревшая 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 и т. д. Это довольно сложная работа, поэтому мне интересно, может ли уже быть библиотека, которая обеспечивает эту функциональность.
Существует ли общая библиотека коллекций, обертывающая неуниверсальные коллекции?
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
Я могу скомпилировать с -source 1.5 и -target jsr14. В этом случае я могу использовать дженерики, но моя библиотека коллекций не является универсальной.
- person Yuriy Kulikov; 07.08.2012
Просто хочу уточнить, что ЛЮБОЙ код должен быть скомпилирован для Java 1.4.
- person Christian Kuetbach; 07.08.2012