Hutool 39 (2026)

boolean isEmail = Validator.isEmail("test@example.com"); boolean isMobile = Validator.isMobile("13800001111"); boolean isChinese = Validator.isChinese("你好");

He made a decision.

cn.hutool hutool-all 5.8.39 Use code with caution. hutool 39

"Keep it simple, reuse standard JDK."

// 对象转JSON User user = new User("张三", 25); String jsonStr = JSONUtil.toJsonStr(user); boolean isEmail = Validator

同时, 5.8.44 还修复了大量问题,包括 JSONUtil.wrap 忽略错误、 XmlUtil.xmlToBean 参数无效、 EnumUtil 在枚举类静态初始化时触发的递归更新异常以及高并发下缓存的双重检查锁缺陷等。

// 2. Formatting (Uses {} placeholder, similar to SLF4J) String template = "Hello, {}! Welcome to {}."; String result = StrUtil.format(template, "User", "Hutool Guide"); // Output: "Hello, User! Welcome to Hutool Guide." boolean isEmail = Validator.isEmail("test@example.com")

, this module saw substantial improvements: