Hutool 3.0.5 发布,Java 工具集

路小磊
 路小磊
发布于 2017年05月04日
收藏 67

Hutool 是一个Java工具包,提供了丰富的文件、日期、日志、正则、字符串、配置文件等工具方法,并封装了一套简单易用的ORM框架。

主页:http://hutool.cn/

文档:http://hutool.mydoc.io/ (感谢开源中国提供非常好用的Team文档平台)

PS:昨天feilong-core、t-io和ActFramework一起发布新版本,我也来凑凑热闹,奉上3.0.5小版本更新。三位开源项目的作者都是非常热心的人,虽未谋面,但是我们之间通过开源群交流甚多,也通过交流,从三位大神级别的开源作者那儿获取众多经验。感谢三位。也感谢所有Hutool的使用者,给Hutool提Issue的各位~

为此,Hutool文档中特别添加了“友情开源项目”,相互鼓励支持。

对于3.0.5版本,特别鸣谢:

ActFramework作者:介绍了Tinylog框架,Hutool-log在3.0.5中已加入支持。

t-io作者:在新版的t-io项目中将Hutoo-core做为依赖。

------------------------------------------------------------------------------------------

新特性

  • ReUtil.replaceAll扩充支持Pattern对象

  • 优化log模块中自动选择日志实现机制

  • 针对不同连接池添加样例配置文件

  • AsymmetricCriptor类增加构造方法,可以传入Base64编码的私钥和公钥

  • SecureUtil增加RSA和DSA快速创建工具方法

  • Hutool-log支持tinylog

  • 添加GlobalThreadPool,将公共线程池从ThreadUtil中剥离出来

  • 扩充Base32中的方法

    Bug修复

  • db模块报错问题修复(感谢@尘风了了)

  • DateUtil.month方法注释修复 (感谢@〓下页)

  • 对db模块的数据源部分的配置做修复

  • Base64传入null导致空指针异常修复(解决方法为返回null)

  • crypto模块类名存在拼写错误:修正SymmetricCriptor -> SymmetricCrypto,AsymmetricCriptor -> AsymmetricCrypto

  • FileCache中初始化capacity为0问题。(issue#17@osc)

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Hutool 3.0.5 发布,Java 工具集
加载中

精彩评论

最新评论(14

小王来了
小王来了
zzuqiang
zzuqiang
非常不错呀!新项目可以考虑使用
小99
小99

引用来自“小99”的评论

当一个api,有一个status参数,必须是0,1,2,3,4,5范围内才能调用,否则返回状态异常,这种情况我看需要加一个方法,我现在判断很蛋疼
if (!StrUtil.equals("0", status) && !StrUtil.equals("1", status)
&& !StrUtil.equals("2", status)&& !StrUtil.equals("3", status)
&& !StrUtil.equals("4", status)&& !StrUtil.equals("5", status)) {
}

引用来自“路小磊”的评论

可以考虑转为List,调用!contains啊,或者转为数组使用!ArrayUtil.contains。

引用来自“小99”的评论

需要至少写2行,可读性差些, 需要让读代码的人先理解意图,自己倒是可以使用ArrayUtil.contains封装一个类似的方法
StrUtil.notEqualsAll(status,0,1,2,3,4,5);

引用来自“路小磊”的评论

考虑过,但是这种参数的方法无法做到见名知意😊
嗯,有道理
路小磊
路小磊

引用来自“小99”的评论

当一个api,有一个status参数,必须是0,1,2,3,4,5范围内才能调用,否则返回状态异常,这种情况我看需要加一个方法,我现在判断很蛋疼
if (!StrUtil.equals("0", status) && !StrUtil.equals("1", status)
&& !StrUtil.equals("2", status)&& !StrUtil.equals("3", status)
&& !StrUtil.equals("4", status)&& !StrUtil.equals("5", status)) {
}

引用来自“路小磊”的评论

可以考虑转为List,调用!contains啊,或者转为数组使用!ArrayUtil.contains。

引用来自“小99”的评论

需要至少写2行,可读性差些, 需要让读代码的人先理解意图,自己倒是可以使用ArrayUtil.contains封装一个类似的方法
StrUtil.notEqualsAll(status,0,1,2,3,4,5);
考虑过,但是这种参数的方法无法做到见名知意😊
小99
小99

引用来自“小99”的评论

当一个api,有一个status参数,必须是0,1,2,3,4,5范围内才能调用,否则返回状态异常,这种情况我看需要加一个方法,我现在判断很蛋疼
if (!StrUtil.equals("0", status) && !StrUtil.equals("1", status)
&& !StrUtil.equals("2", status)&& !StrUtil.equals("3", status)
&& !StrUtil.equals("4", status)&& !StrUtil.equals("5", status)) {
}

引用来自“路小磊”的评论

可以考虑转为List,调用!contains啊,或者转为数组使用!ArrayUtil.contains。
需要至少写2行,可读性差些, 需要让读代码的人先理解意图,自己倒是可以使用ArrayUtil.contains封装一个类似的方法
StrUtil.notEqualsAll(status,0,1,2,3,4,5);
路小磊
路小磊

引用来自“游客”的评论

我今天开始用了
欢迎反馈,或加群讨论(群号在项目主页)
路小磊
路小磊

引用来自“小99”的评论

当一个api,有一个status参数,必须是0,1,2,3,4,5范围内才能调用,否则返回状态异常,这种情况我看需要加一个方法,我现在判断很蛋疼
if (!StrUtil.equals("0", status) && !StrUtil.equals("1", status)
&& !StrUtil.equals("2", status)&& !StrUtil.equals("3", status)
&& !StrUtil.equals("4", status)&& !StrUtil.equals("5", status)) {
}
可以考虑转为List,调用!contains啊,或者转为数组使用!ArrayUtil.contains。
小99
小99
当一个api,有一个status参数,必须是0,1,2,3,4,5范围内才能调用,否则返回状态异常,这种情况我看需要加一个方法,我现在判断很蛋疼
if (!StrUtil.equals("0", status) && !StrUtil.equals("1", status)
&& !StrUtil.equals("2", status)&& !StrUtil.equals("3", status)
&& !StrUtil.equals("4", status)&& !StrUtil.equals("5", status)) {
}
绳锯木断
绳锯木断
😄 强
飞天奔月
飞天奔月
PS部分内容, 让我看的热泪盈眶
返回顶部
顶部