精心整理了最新的面试资料和简历模板,有需要的可以自行获取
Hutool StrUtil 工具类用法详解
一、StrUtil 简介
Hutool 是一个Java工具库,其StrUtil
类封装了大量字符串处理工具方法,可简化空指针处理、字符串判空、格式化、截取等常见操作。相比原生Java字符串API,StrUtil
更简洁高效,且能有效避免空指针异常(NPE)。
二、常用方法及示例
1. 空值判断
// 判断字符串是否为空白(包含null、空字符串、纯空格)
boolean isBlank = StrUtil.isBlank(" "); // true
// 判断字符串是否为空(null或空字符串)
boolean isEmpty = StrUtil.isEmpty(null); // true
// 空值转默认值
String result = StrUtil.emptyToDefault(null, "default"); // "default"
2. 字符串格式化
// 格式化字符串(类似String.format)
String str = StrUtil.format("姓名:{},年龄:{}", "张三", 25);
// 输出:姓名:张三,年龄:25
// 索引格式化
String indexedStr = StrUtil.format("参数1: {1}, 参数0: {0}", "A", "B");
// 输出:参数1: B, 参数0: A
3. 字符串截取
// 截取子字符串
String sub = StrUtil.sub("HelloWorld", 2, 5); // "llo"
// 截取指定标识之间的内容
String between = StrUtil.subBetween("Hello【Hutool】World", "【", "】"); // "Hutool"
4. 字符串处理
// 去除前后空格(自动处理null)
String trim = StrUtil.trim(" test "); // "test"
// 替换字符串
String replaced = StrUtil.replace("abc123", "123", "XYZ"); // "abcXYZ"
// 反转字符串
String reverse = StrUtil.reverse("Hutool"); // "lootuH"
5. 字符串转换
// 转换为驼峰命名
String camelCase = StrUtil.toCamelCase("hello_world"); // "helloWorld"
// 首字母大写
String capitalize = StrUtil.upperFirst("hutool"); // "Hutool"
// 字符串转数组
String[] arr = StrUtil.splitToArray("a,b,c", ',');
// 结果:["a", "b", "c"]
6. 其他实用方法
// 生成随机字符串
String random = StrUtil.random(6); // 如"3g4e9z"
// 判断是否为数字字符串
boolean isNumeric = StrUtil.isNumeric("123.45"); // false
// 隐藏部分内容(常用于数据脱敏)
String hide = StrUtil.hide("18812345678", 3, 7); // "188****5678"
三、实际应用场景
场景1:数据脱敏
public String desensitizePhone(String phone) {
return StrUtil.hide(phone, 3, 7);
}
// 输入:"18812345678" → 输出:"188****5678"
场景2:路径拼接
String path = StrUtil.format("{}/download/{}.zip",
StrUtil.removeSuffix("/home/user/", "/"),
"file123");
// 结果:/home/user/download/file123.zip
场景3:模板内容替换
String template = "尊敬的{},您的验证码是{},有效期{}分钟";
String message = StrUtil.format(template, "李四", "2587", 5);
// 输出:尊敬的李四,您的验证码是2587,有效期5分钟
四、注意事项
- 空值安全:所有方法自动处理
null
值,无需额外判空 - 性能优化:高频方法如
sub
、replace
内部使用StringBuilder
优化 - 编码处理:涉及编码转换时建议配合
CharsetUtil
使用 - 正则场景:复杂正则处理建议使用
ReUtil
五、总结
Hutool StrUtil
通过简洁的API封装了80%以上的字符串处理需求,开发者可专注于业务逻辑而无需重复造轮子。结合Hutool其他工具类(如DateUtil
、FileUtil
)使用,可大幅提升开发效率。
建议通过Maven引入最新版本:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.20</version>
</dependency>
通过本文示例可以快速掌握StrUtil
的核心用法,更多高级功能可参考Hutool官方文档或源码探索。