Skip to content

Util 工具类概览

molandev-util 是 MolanDev Framework 的核心工具类模块,提供了丰富的日常开发工具方法,无任何外部依赖,可以在任何 Java 项目中使用。

模块特性

  • 零依赖: 不依赖任何第三方库,轻量纯净
  • 线程安全: 所有工具类采用静态方法,无状态设计
  • 高性能: 精心优化的算法实现
  • 全面测试: 完善的单元测试覆盖

Maven 依赖

xml
<dependency>
    <groupId>com.molandev</groupId>
    <artifactId>molandev-util</artifactId>
    <version>1.0.1</version>
</dependency>

工具类分类

🔐 加密工具 (encrypt 包)

提供常用的加密、解密、摘要和脱敏功能:

工具类说明文档链接
AesUtilAES 对称加密工具详细文档
RsaUtilRSA 非对称加密工具详细文档
Md5UtilsMD5 摘要算法详细文档
ShaUtilSHA 系列摘要算法详细文档
DesUtilDES 对称加密工具详细文档
Base64UtilsBase64 编码解码详细文档
SensitiveUtils敏感信息脱敏工具详细文档
Hex2Util十六进制转换工具详细文档

🛠️ 通用工具

涵盖日常开发的各类工具方法:

工具类说明文档链接
StringUtils字符串处理工具详细文档
DateUtils日期时间工具详细文档
FileUtils文件操作工具详细文档
IOUtilsIO 流操作工具详细文档
ListUtilsList 集合工具详细文档
MapUtilMap 集合工具详细文档
MathUtils数学计算工具详细文档
RandomUtils随机数生成工具详细文档
IdUtilsID 生成工具详细文档
ClassUtils类操作工具详细文档
ValidatorUtils数据校验工具详细文档
GzipUtilsGzip 压缩工具详细文档
DoubleCheckUtils双重检查锁工具详细文档
ThreadUtil线程工具(虚拟线程支持)详细文档
CommandUtil系统命令执行工具详细文档

快速示例

字符串处理

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

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

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

// 字符串填充
String padded = StringUtils.fillEmpty(123, '0', 6); // 000123

日期处理

java
import com.molandev.framework.util.DateUtils;

// 获取当前时间
String now = DateUtils.now(); // 2024-01-18 14:30:00

// 日期格式化
String formatted = DateUtils.toStr(new Date(), "yyyy/MM/dd");

加密处理

java
import com.molandev.framework.util.encrypt.*;

// AES 加密
String encrypted = AesUtil.encrypt("data", "key");
String decrypted = AesUtil.decrypt(encrypted, "key");

// MD5 摘要
String hash = Md5Utils.md5("password");

// 手机号脱敏
String masked = SensitiveUtils.mobilePhone("13812345678"); // 138****5678

设计原则

静态工具类

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

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

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

参数校验

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

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

异常处理

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

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

性能说明

  • 所有工具方法都经过性能优化
  • 字符串操作使用 StringBuilder 减少对象创建
  • 加密工具采用单例模式复用 Cipher 实例
  • 集合工具避免不必要的中间集合创建

线程安全

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

下一步

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

加密相关

常用工具