13

我驚訝的是,Apache Commons Collections項目還沒有得到周圍使他們的圖書館泛型感知。我非常喜歡這個圖書館提供的功能,但對泛型的支持不足是一個很大的問題。有一個Lavalabs fork of Commons Collections which does support generics,這似乎聲稱向後兼容性,但是當我嘗試更新到此版本時,我的Web應用程序無法啓動(在JBoss中)。泛型化公共收集

我的問題是:

  • 是否有人已經成功地從共享集合更新到上述
  • 提到的叉如果Commons Collections中有任何計劃增加對泛型的支持

BTW,我我知道谷歌的收藏,但我不願意在API穩定之前使用它。

乾杯, 唐

回答

8

有貢獻。結帳的jira

還有一個JDK5 branch

我們確實想補充的仿製藥和更新共享集合到1.5(1.6)。最大的問題是如何解決向後兼容問題。人們在那裏有非常不同的觀點。對於一些Commons組件,較新的JDK幾乎要求爲新的JDKs恕我直言重寫。

的ApacheCon期間,我覺得跨幾個人的衝動,但得到這個運動。這只是一個大任務。

隨意出現在[email protected]

歡呼聲, 託斯滕

+0

謝謝Torsten。我有點不情願將它列入郵件列表,因爲我預計它已經被討論了一百萬次。我將查看JDK5分支 – 2008-11-17 19:42:20

+0

問題:您知道Sun不再支持JDK 1.4嗎? – 2008-11-18 08:22:30

+0

只要提出來。我們需要壓力:) – tcurdt 2008-11-18 20:10:34

6

鑑於雅加達的自己internaldebate的最後一個字是在07年12月,我要說的是,Apache將不接受仿製藥,離開場開放友誼賽Google Collections Java5中的東西。

0

我無法想象你可以有不使用谷歌收集什麼原因。使用該庫非常簡單。

對於我的工作,我同時使用,阿帕奇收藏和谷歌的集合。

你能解釋一下你爲什麼不能使用谷歌的集合?

問候

9

考慮Google Collections。從他們Javalobby interview

[谷歌集合中】內置了Java 5的特性:泛型,枚舉,協變返回類型,等等。當編寫Java代碼5,你想有一個集合庫,是以語言的充分利用。此外,我們付出了巨大的努力,使庫完整,健壯並與JDK集合類保持一致。

1

我說,咬住子彈,切換到谷歌收藏,至少對於新的代碼。

我知道你關心穩定性,但google-collections庫非常接近穩定的1.0版本 - 掛在開發者列表上或者看他們報告的問題,他們已經對變化非常謹慎,特別是打破了。目前版本與(看似即將到來的)1.0版本之間的任何不兼容性都將極其微小。此外,如果您擔心穩定性,請選擇一個版本(例如當前版本,1.0 RC4),並且...只是不升級。當然,你不會得到任何新功能,但在幾個中,公共收藏並沒有以有意義的方式更新,那麼你是否真的變壞了?至少你對泛型和(恕我直言)一個更好的API進行了凍結。

0

有一個Commons Collections 3.1 available here的通用端口,我們已經使用了幾年。這項工作很好,而且由於它完全基於現有的Commons源代碼,因此它具有穩定的API。

雖然它可以使用更新來符合Commons Collections 3.2。

1

一般BC問題是,包org.apache.commons.collections已被改名爲org.apache.commons.collections15。我不知道這個變化的原因。嘗試將其重新命名,重新編譯該庫並再次運行應用程序。

我發現此問題使用commons-collections-3.2.1.jar(來自Apache)和collections-generic-4.01.jar(來自Lavalabs)的Clirr工具。