我接手了一个Java代码库的团队。
该代码库使用了很多明确的“for each”循环。我想在将来的代码中使用Commons Collections的转换器和谓词以及其收集和转换方法来替换这些循环(注意:不是现有的代码)。
然而,Commons Collection不是通用的。我的代码库剩下的部分虽然有其他缺陷,但是它是通用的,我不想引入大量的强制类型转换。
因此,我正在查看带有泛型的Commons-Collections(http://sourceforge.net/projects/collections/)和Guava(以前是Google Collections)(http://code.google.com/p/guava-libraries/)。
问题一:这两个库都被广泛认为是安全的生产使用吗?您在生产中使用其中任何一个吗?
问题二:这两个库中,您推荐哪个?任何使用过其中任何一个库的人的答案都很好,使用过两个库的人的答案更好!
最后,我的团队包括承包商和员工,他们在Java方面的水平从中到高不等(但具有多年非OO编程经验)。因此,我不想引入超过一个集合库,并且我希望选择一个对我的任何团队成员来说都不会太难使用的库。
谢谢!
编辑:我想要替换明确的循环,因为大量的样板代码掩盖和压倒了实际的业务代码。我有嵌套的循环调用带有嵌套的循环的函数,所有这些都是一行代码就能完成的事情。通过适当的介绍和培训,我认为我的团队会发现Collections/Transformer/Predicate方法更清晰、更快速、更易于编写和阅读。
该代码库使用了很多明确的“for each”循环。我想在将来的代码中使用Commons Collections的转换器和谓词以及其收集和转换方法来替换这些循环(注意:不是现有的代码)。
然而,Commons Collection不是通用的。我的代码库剩下的部分虽然有其他缺陷,但是它是通用的,我不想引入大量的强制类型转换。
因此,我正在查看带有泛型的Commons-Collections(http://sourceforge.net/projects/collections/)和Guava(以前是Google Collections)(http://code.google.com/p/guava-libraries/)。
问题一:这两个库都被广泛认为是安全的生产使用吗?您在生产中使用其中任何一个吗?
问题二:这两个库中,您推荐哪个?任何使用过其中任何一个库的人的答案都很好,使用过两个库的人的答案更好!
最后,我的团队包括承包商和员工,他们在Java方面的水平从中到高不等(但具有多年非OO编程经验)。因此,我不想引入超过一个集合库,并且我希望选择一个对我的任何团队成员来说都不会太难使用的库。
谢谢!
编辑:我想要替换明确的循环,因为大量的样板代码掩盖和压倒了实际的业务代码。我有嵌套的循环调用带有嵌套的循环的函数,所有这些都是一行代码就能完成的事情。通过适当的介绍和培训,我认为我的团队会发现Collections/Transformer/Predicate方法更清晰、更快速、更易于编写和阅读。