Skip to content

Util 工具类概览

com.molandev.core.util 提供日常开发工具方法。纯工具类尽量保持低依赖;util.spring / util.tree 等会依赖 Spring。

工具类清单

🔐 加密工具

工具类说明项目使用频率文档
AesUtilAES 对称加密⭐⭐⭐详细文档
RsaUtilRSA 非对称加密⭐⭐⭐⭐ 前端密码加密详细文档
Md5UtilsMD5 摘要算法⭐⭐⭐详细文档
ShaUtilSHA 系列摘要⭐⭐详细文档
Base64UtilsBase64 编码解码⭐⭐⭐详细文档
SensitiveUtils敏感信息脱敏⭐⭐详细文档
Hex2Util十六进制转换⭐⭐详细文档

🛠️ 通用工具

工具类说明项目使用频率文档
StringUtils字符串处理(空值判断、驼峰转换等)⭐⭐⭐⭐⭐详细文档
DateUtils日期时间处理⭐⭐⭐⭐详细文档
IdUtilsID/UUID 生成⭐⭐⭐⭐⭐详细文档
IOUtilsIO 流操作⭐⭐⭐⭐ 文件下载详细文档
FileUtils文件操作、MIME类型识别⭐⭐⭐详细文档
ListUtilsList 集合工具⭐⭐⭐详细文档
MapUtilMap 集合工具⭐⭐⭐详细文档
RandomUtils随机数/字符串生成⭐⭐详细文档
MathUtils精确数学计算⭐⭐详细文档
ValidatorUtils数据校验(手机号、邮箱、IP等)⭐⭐详细文档
GzipUtilsGzip 压缩/解压⭐⭐详细文档
CommandUtil系统命令执行详细文档
ClassUtils反射/类操作工具⭐⭐详细文档
DoubleCheckUtils双重检查锁详细文档
TreeUtil列表转树形结构⭐⭐⭐⭐详细文档
SpringUtilsSpring 容器访问(Bean / 配置 / 事件)⭐⭐⭐⭐详细文档
UserAgentUtilUser-Agent 解析⭐⭐详细文档

TreeUtil / SpringUtils 位于 com.molandev.core.util.tree / com.molandev.core.util.springUserAgentUtil 位于 com.molandev.core.util

快速示例

字符串处理

java
import com.molandev.core.util.StringUtils;

// 空值判断
boolean empty = StringUtils.isEmpty("");     // true
        boolean blank = StringUtils.isBlank("  ");   // true

        // 驼峰与下划线互转
        String camel = StringUtils.underline2Camel("user_name");  // userName
        String underline = StringUtils.camel2Underline("userName"); // user_name

ID 生成

java
import com.molandev.core.util.IdUtils;

// UUID(无横线)
String uuid = IdUtils.uuid();  // 32位

        // 简单 ID 生成
        Long id = IdUtils.nextId();

RSA 加密(项目中用于前端密码加密)

java
import com.molandev.core.util.encrypt.RsaUtil;

// 前端使用公钥加密密码
String encrypted = RsaUtil.encrypt(publicKey, password);

        // 后端使用私钥解密
        String decrypted = RsaUtil.decrypt(privateKey, encrypted);

📖 详细说明登录策略文档 前端加密章节

手机号脱敏

java
import com.molandev.core.util.encrypt.SensitiveUtils;

String masked = SensitiveUtils.mobilePhone("13812345678");  // 138****5678

设计原则

静态工具类

所有工具类都采用静态方法设计,使用简单直接:

java
// ✅ 推荐:直接调用静态方法
String result = StringUtils.isEmpty(str);

// ❌ 不推荐:无需实例化(构造方法已私有化)
StringUtils utils = new StringUtils();

参数校验

工具方法会对关键参数进行校验,避免空指针等常见错误:

java
// 会抛出 IllegalArgumentException
RsaUtil.encrypt(null, "data");  // 密钥不能为空

异常处理

工具类会将检查异常包装为运行时异常,简化使用:

java
// 无需捕获检查异常
String hash = Md5Utils.md5("content");  // 内部已处理 NoSuchAlgorithmException

线程安全

所有工具类都是线程安全的,可以在多线程环境中安全使用。

下一步

选择你感兴趣的工具类开始学习:

加密相关

常用工具