Hutool StrUtil 工具类用法详解

精心整理了最新的面试资料和简历模板,有需要的可以自行获取

点击前往百度网盘获取
点击前往夸克网盘获取


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分钟

四、注意事项

  1. 空值安全:所有方法自动处理null值,无需额外判空
  2. 性能优化:高频方法如subreplace内部使用StringBuilder优化
  3. 编码处理:涉及编码转换时建议配合CharsetUtil使用
  4. 正则场景:复杂正则处理建议使用ReUtil

五、总结

Hutool StrUtil 通过简洁的API封装了80%以上的字符串处理需求,开发者可专注于业务逻辑而无需重复造轮子。结合Hutool其他工具类(如DateUtilFileUtil)使用,可大幅提升开发效率。

建议通过Maven引入最新版本:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.20</version>
</dependency>

通过本文示例可以快速掌握StrUtil的核心用法,更多高级功能可参考Hutool官方文档或源码探索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘵奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值