Java 通用公共集合

Java 通用公共集合,java,collections,upgrade,apache-commons,binary-compatibility,Java,Collections,Upgrade,Apache Commons,Binary Compatibility,我感到惊讶的是,这个项目还没有来得及让他们的库泛型意识到这一点。我非常喜欢这个库提供的特性,但是缺少对泛型的支持是一个很大的障碍。有一个错误,它似乎声称向后兼容,但当我尝试更新到此版本时,我的web应用程序无法启动(在JBoss中) 我的问题是: 是否有人已成功地从Commons集合更新到上述fork 如果Commons Collections计划添加对泛型的支持 顺便说一句,我知道谷歌收藏,但在API稳定之前我不愿意使用它 干杯, Don考虑到雅加达自己的最后一句话是在2007年12月,我

我感到惊讶的是,这个项目还没有来得及让他们的库泛型意识到这一点。我非常喜欢这个库提供的特性,但是缺少对泛型的支持是一个很大的障碍。有一个错误,它似乎声称向后兼容,但当我尝试更新到此版本时,我的web应用程序无法启动(在JBoss中)

我的问题是:

  • 是否有人已成功地从Commons集合更新到上述fork
  • 如果Commons Collections计划添加对泛型的支持
顺便说一句,我知道谷歌收藏,但在API稳定之前我不愿意使用它

干杯,
Don

考虑到雅加达自己的最后一句话是在2007年12月,我想说Apache将不会接受泛型,这为类似Java5的友好应用留下了空间。

有贡献。结帐

还有一个问题

我们确实希望添加泛型并将Commons集合更新为1.5(和1.6)。最大的问题是如何解决向后兼容性问题。在那里,人们有着非常不同的观点。对于一些Commons组件,较新的JDK几乎要求重写新的JDK IMHO

在ApacheCon期间,我感觉到了一些人的强烈愿望,想让这一切继续下去。这只是一项艰巨的任务

请随时在电视上露面dev@commons.apache.org

干杯,
托尔斯滕

我无法想象你为什么不使用谷歌收藏。使用该库非常简单

在我的工作中,我同时使用apache集合和google集合

你能解释一下为什么你不能使用谷歌收藏吗

考虑一下。从他们的:

[Google Collections]使用Java 5功能构建:泛型、枚举、协变返回类型等。在编写Java 5代码时,您需要一个充分利用该语言的集合库。此外,我们在使库完整、健壮并与JDK集合类保持一致方面付出了巨大的努力


我说,咬紧牙关,切换到谷歌收藏,至少是新代码

我知道你很担心稳定性,但是google collections库对于1.0版本来说非常接近稳定——在开发人员列表上闲逛或者观察他们报告的问题,他们已经非常谨慎地对待更改,尤其是不稳定的更改。当前版本和(似乎即将发布的)1.0最终版本之间的任何不兼容都将是极其微小的


此外,如果您担心稳定性,请选择一个版本(例如当前版本,1.0 RC4),然后。。。只是不要升级。当然,您不会获得任何新功能,但commons collections在几年内都没有以有意义的方式进行更新,所以您的情况真的更糟了吗?至少你对泛型和(IMHO)一个更好的API的某些东西已经束手无策了。

有一个泛型化的port of Commons Collections 3.1,我们已经使用了几年了。这项工作做得很好,因为它严格基于现有的Commons源代码,所以它有一个稳定的API


它可以使用更新来符合Commons Collections 3.2的要求。

阅读collection博客,它提供了对collection框架的完整理解。


如果您觉得您的问题尚未得到回答,请与我联系。我将尽可能多地向您提供信息。

BC的一般问题是包
org.apache.commons.collections
重命名为
org.apache.commons.collections15
。我不知道这种变化的原因。尝试重新命名它,重新编译库并再次运行应用程序


我在
commons-collections-3.2.1.jar
(来自Apache)和
collections-generic-4.01.jar
(来自Lavalabs)上发现了这个问题。

谢谢Torsten。我有点不愿意在邮件列表中提到这一点,因为我想它已经被讨论过一百万次了。我将查看JDK5分支问题:您知道JDK1.4不再受sun支持吗?请打开它。我们需要压力:)@geek:是的,你只需要为支持付费一个原因是因为我的应用程序已经包含了commons集合(例如,作为另一个Apache库的可传递依赖项)。如果可能的话,我更愿意升级到通用集合的泛型版本,引入另一个依赖项。说真的,如果阿帕奇社区的人们想呆在他们集体的黑暗时代小屋里(无论出于什么原因),那就是他们的选择。使用不支持现代java功能的库编写新项目是令人尴尬的。Google collections不再维护,现在是