2012-08-07 186 views
0

我必須工作是一個有點過時的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等)編寫通用包裝器。這是一個相當重要的工作,所以我想知道是否可能已經有一個庫提供了此功能。有沒有包裝非泛型集合的泛型集合庫?

+2

「有點過時」?嘗試了很多過時的。 JDK 5已經過了其支持生命週期,並且JDK 7是當前的標準。我建議至少升級到JDK 6。 – duffymo 2012-08-07 17:15:47

+0

我想我沒有得到這個問題。如果您開發的代碼沒有泛型,那麼如果您希望在1.4 JVM上運行,則無需添加它們。如果你的代碼是用泛型編寫的,我認爲類型擦除將從* .class文件中刪除它。 – 2012-08-07 17:16:48

回答

0

你能編譯一個JVM 1.4的代碼嗎?

如果您的代碼是針對Java5(6或7)編譯的,那麼您可能會在類文件中看到「錯誤的版本」--Error。

如果您使用任何已編譯的庫,則必須對Java 1.4進行編譯。

+0

我可以用-source 1.5和-target jsr14進行編譯。在這種情況下,我可以使用泛型,但我的集合庫不是通用的。 – 2012-08-07 17:10:43

+0

只是爲了澄清,任何代碼都必須編譯爲Java 1.4 – 2012-08-07 17:13:16