为什么 Collections 类包含独立(静态)方法,而不是将它们添加到 List 接口?
2022-09-04 20:15:16
对于集合中所有将 List 作为其第一个参数的方法,为什么这些方法不只是 List 接口的一部分?
我的直觉是:给定一个List对象,该对象本身应该“知道”如何对自己执行诸如rotation(),shuffle()或reverse()之类的操作。但是,作为一名 Java 程序员,我必须检查 List 接口中的方法,以及 Collections 类中“那边”的静态方法,以确保我使用的是规范解决方案。
为什么将某些方法作为静态独立方法放在 Collections 类中,而不是添加到 List 接口中(因此可能由某些现有或可能的基类实现)?
我试图更好地理解Java集合框架背后的设计决策。
这里是否有一些引人注目的OO设计原则,我忽略了这一点?还是仅仅出于某种实际的性能原因而进行这种区分?