好用的库代码简析
2025/12/27 21:59:22
java.util包下,且都是不可实例化的工具类(构造方法私有,所有方法为 static);Collections专注于操作 / 扩展Collection接口(List/Set/Queue)及其实现类;Arrays专注于数组的操作(排序、查找、转换、填充等),同时提供数组与集合的互转方法。2.1、工具类的设计目标是提供静态方法,无需创建实例;
2.2、源码层面:构造方法被声明为private且抛出异常,防止通过反射实例化;
// Collections 源码示例 private Collections() { throw new UnsupportedOperationException(); }2.3、符合 Java 工具类的设计规范(如Math类同理)
| 维度 | Collections 工具类 | Arrays 工具类 |
|---|---|---|
| 操作对象 | List/Set/Queue 等集合 | 各种类型的数组(基本类型 + 引用类型) |
| 核心功能 | 排序、查找、同步化、不可变集合、批量添加等 | 排序、查找、填充、数组转集合、复制、比较等 |
| 线程安全 | 提供同步集合包装方法(如 synchronizedList) | 无线程安全相关方法 |
| 空值处理 | 部分方法(如 sort)不支持 null 元素 | 支持数组中存在 null(如 sort 引用类型数组) |