在Effective Java,第1项中,它说静态工厂方法使Collections框架比原本要小得多。有人可以解释一下吗?由于使用静态工厂方法,我无法理解以下是如何实现的? 我的意思是我们仍然必须实现那些单独的实现不是吗?
Collections Framework API比原本要小得多 它出口了32个单独的公共课程,每个课程一个 便利实施。
答案 0 :(得分:3)
“较小”意味着“较少的课程”。
不是为每个实现变体提供大量的类,而是提供了返回这些实现的工厂方法,而不需要将它们的类声明为顶级类(减少“类膨胀”)。
答案 1 :(得分:0)
我认为这里的含义是java集合API中只有核心实现,如果需要同步等,静态工厂提供“封装”。
所以有8个实现,没有“包装器”会有更多(大小增益)。
有关详细信息,请参阅http://docs.oracle.com/javase/7/docs/technotes/guides/collections/overview.html