Guava 字符串操作:Java 高效处理实用指南
在 Java 开发中,字符串操作是日常开发高频场景,但 JDK 原生的字符串工具类功能相对基础,处理复杂场景时往往需要编写大量冗余代码。Google 开源的 Guava 库为字符串操作提供了一套简洁、高效且功能丰富的工具集,本文将深入解析 Guava 中核心的字符串操作 API,结合场景讲解其用法与优势。
一、Guava 字符串工具概述
Guava 作为 Google 核心 Java 库,其 com.google.common.base 包下封装了大量字符串处理工具,涵盖字符串空值处理、字符匹配、分割拼接、格式转换等核心场景,相比 JDK 原生 API:
- 更简洁的调用方式,减少模板代码;
- 更健壮的边界处理(如空值、空字符串);
- 更贴合业务场景的功能设计(如固定规则的字符匹配、分割)。
二、核心 API 详解
1. Strings:基础字符串工具
Strings 类聚焦于最常用的字符串基础操作,解决空值、空字符串处理的痛点。
(1)空值/空字符串处理
Strings.isNullOrEmpty(CharSequence s):判断字符串是否为null或空字符串(""),替代 JDK 中s == null || s.isEmpty()的冗余写法;Strings.nullToEmpty(CharSequence s):将null转换为空字符串,非null则返回原字符串;Strings.emptyToNull(CharSequence s):将空字符串转换为null,非空则返回原字符串;
Strings.padStart/Strings.padEnd:字符串补全,如左补空格/指定字符至固定长度,示例:
// 输出 " abc"(左补 2 个空格至长度 5)
String padded = Strings.padStart("abc", 5, ' ');
// 输出 "abc "(右补 2 个空格至长度 5)
String paddedEnd = Strings.padEnd("abc", 5, ' ');
2. CharMatcher:灵活的字符匹配器
CharMatcher 是 Guava 字符串处理的核心工具,用于筛选、匹配、替换字符,可理解为「字符级别的正则表达式」,且性能更优。
(1)内置常用匹配器
Guava 预定义了大量开箱即用的 CharMatcher,覆盖绝大多数场景:
CharMatcher.WHITESPACE:匹配所有空白字符(空格、制表符、换行等);CharMatcher.DIGIT:匹配数字字符;CharMatcher.LETTER:匹配字母;

