Java后端-基础-常用工具类-14
背景
本文是《Java 后端从小白到大神》修仙系列第十四篇
,正式进入Java后端
世界,本篇文章主要聊Java基础
。若想详细学习请点击首篇博文,我们开始把。
文章概览
- 常用工具类
常用工具类
1. Arrays
类
作用:提供对数组的静态工具方法,包括排序、搜索、填充、转换等。
常用方法:
方法名 | 功能说明 |
---|---|
sort(int[] a) |
对数组进行自然顺序排序(升序) |
binarySearch(int[] a, int key) |
二分查找元素索引(需先排序) |
fill(int[] a, int val) |
将数组所有元素填充为指定值 |
copyOf(int[] a, int newLength) |
复制数组到新长度(截断或补默认值) |
equals(int[] a, int[] b) |
比较两个数组是否内容相等 |
toString(int[] a) |
返回数组的字符串表示(如 [1, 2, 3] ) |
asList(T... a) |
将数组转换为固定大小的 List |
stream(int[] a) |
将数组转换为 IntStream (Java 8+) |
代码示例:
|
|
2. Collections
类
作用:提供对集合(如 List
、Set
、Map
)的静态工具方法。
常用方法:
方法名 | 功能说明 |
---|---|
sort(List<T> list) |
对列表进行自然顺序排序 |
reverse(List<?> list) |
反转列表元素顺序 |
binarySearch(List<T> list, T key) |
二分查找元素索引(需先排序) |
shuffle(List<?> list) |
随机打乱列表元素顺序 |
max(Collection<T> coll) |
返回集合中的最大元素 |
代码示例:
|
|
2. Objects
类
作用:提供对象判空、哈希计算、比较等工具方法。
常用方法:
方法名 | 功能说明 |
---|---|
equals(Object a, Object b) |
安全比较两个对象是否相等 |
hash(Object... values) |
生成对象的哈希码 |
requireNonNull(T obj) |
检查对象非空(否则抛异常) |
toString(Object o) |
安全返回对象的字符串表示 |
代码示例:
3. Files
和 Paths
类(NIO)
作用:用于文件读写和路径操作(Java 7+)。
常用方法:
方法名(Files ) |
功能说明 |
---|---|
readAllBytes(Path path) |
读取文件全部字节 |
write(Path path, byte[] data) |
写入字节到文件 |
copy(Path src, Path dest) |
复制文件 |
exists(Path path) |
检查文件是否存在 |
createDirectory(Path dir) |
创建目录 |
代码示例:
4. Math
类
作用:提供数学计算相关的静态方法。
常用方法:
方法名 | 功能说明 |
---|---|
max(int a, int b) |
返回两个数的较大值 |
min(int a, int b) |
返回两个数的较小值 |
abs(int a) |
返回绝对值 |
sqrt(double a) |
返回平方根 |
pow(double a, double b) |
返回 a 的 b 次幂 |
代码示例:
5. Stream
相关方法
作用:通过 Stream
API 对集合进行链式操作(Java 8+)。
常用方法:
方法名 | 功能说明 |
---|---|
filter(Predicate<T> p) |
过滤元素 |
map(Function<T, R> f) |
转换元素 |
sorted() |
排序元素 |
collect(Collectors.toList()) |
将流转换为集合 |
一些常见的 Java 集合框架中的类支持 Stream API:
类 | 描述 |
---|---|
List | 有序集合,允许重复元素。例如:ArrayList、LinkedList。 |
Set | 不允许重复元素的集合。例如:HashSet、TreeSet、LinkedHashSet。 |
Map | 键值对集合。虽然 Map 本身不直接支持 stream(),但可以通过 entrySet()、keySet() 或 values() 方法获取流。 |
Queue | 先进先出(FIFO)队列。例如:PriorityQueue、ArrayDeque。 |
Deque | 双端队列。例如:ArrayDeque、LinkedList。 |
代码示例:
|
|
6. StringUtils
(Apache Commons Lang 库)
作用:第三方库提供的字符串工具类(需引入依赖)。
常用方法:
方法名 | 功能说明 |
---|---|
isEmpty(String str) |
判断字符串是否为空或 null |
join(Iterable<?> iterable) |
将集合元素拼接为字符串 |
substring(String str, int start) |
安全截取子字符串 |
代码示例:
类名 | 核心用途 | 典型场景 |
---|---|---|
Collections |
集合操作(排序、查找等) | 处理 List 、Set 的复杂操作 |
Objects |
对象安全操作 | 避免空指针异常 |
Files /Paths |
文件读写 | 文件内容管理 |
Math |
数学计算 | 数值计算 |
Stream |
链式集合处理 | 数据过滤、转换、统计 |
通过这些工具类,可以显著简化代码并提高开发效率!
总结
- 集合框架中的类:如 List、Set、Map 等都支持 Stream API。
- 数组:可以通过 Arrays.stream() 或 Stream.of() 转换为流。
- 文件 I/O:Files.lines() 可以从文件中读取行并返回流。
- 并发工具类:如 ConcurrentHashMap 和 CopyOnWriteArrayList 支持 Stream API。
- 其他类:如 String 和 Random 提供了特定方法生成流。
- 自定义对象:可以通过实现 Spliterator 接口支持 Stream API。
文章作者 会写代码的小郎中
上次更新 2025-03-04
许可协议 CC BY-NC-ND 4.0