6

在 Effective Java 的第 1 项中,它说静态工厂方法使 Collections 框架比原本要小得多。有人可以解释一下吗?我无法理解仅因为使用静态工厂方法而可能发生以下情况?我的意思是我们仍然必须实现那些单独的实现,不是吗?

Collections Framework API 比导出 32 个独立的公共类(每个便利实现一个)时要小得多。

4

2 回答 2

3

“更小”是指“更少的课程”。

不是为每个实现的变体提供大量类,而是提供了返回此类实现的工厂方法,而无需将它们的类声明为顶级类(减少“类膨胀”)。

于 2012-12-09T07:45:00.147 回答
0

我认为这里的意思是java集合API中只有核心实现,如果你需要同步等“包装器”由静态工厂提供。

所以有 8 个实现,没有“包装器”会有更多(大小增益)。

有关详细信息,请参阅http://docs.oracle.com/javase/7/docs/technotes/guides/collections/overview.html

于 2012-12-09T07:39:41.687 回答