Hutool 大家已经比较熟悉了,这是一个超全的 Java 工具库,深受国内开发者的喜爱。
关于它的争议不断,但不管争议如何,目前确实是成为了国内使用最广的工具库之一了, Gitee 上的 Star 数也到了 23k +。
之前我们也发文介绍过 Hutool,但考虑到最近它的争议较大,加上新版本有所改动,这里分享一下最新版本的介绍,顺带探讨一下 Hutool 是否值得用。
Hutool 是否值得用
关于 Hutool 是否值得用的话题,在知乎上也是讨论很火热,有些认为其代码质量不够好,有些则认为其确实提高的开发效率,毕竟很过工具类自己写或者 AI 写的话,还不如 Hutool的。
你怎么看这个问题呢?
下面是我关注的一位技术大佬的回答,我是比较赞同的,贴合实际:
实际工作中,我见过太多人满嘴代码质量,结果一看代码写得一团乱麻,言行极其不合一。
我之前其实是不太喜欢使用这种功能太多的工具类的,也比较担心稳定性和安全性,后面慢慢接受了就感觉其实也还好。而且,我们还可以按需只引入自己需要的功能模块,相对也比较灵活。
不过,Hutool 在兼容性方面确实做得差,不同版本 API 会有变化,这个确实有点坑的。
国内的开发者不太喜欢用 @Deprecated
,正常的版本升级是循序渐进的。并且,同时提供新API并保留老API又不影响什么。
最终,总结一下是否值得用:
-
如果是个人项目,完全不用考虑太多,用就完事了。
-
如果是企业项目,考虑稳定性和兼容性,可以有限考虑Apache或者 Guava。如果更追求功能性,建议优先 Hutool。
Hutool 介绍
Hutool 真心是一个不错的国产 Java 工具类库,功能全面,对文件、流、加密解密、转码、正则、线程、XML 等 JDK 方法进行了封装,开箱即用!
官方是这样介绍 Hutool 的:
Hutool 介绍
Hutool 包含的组件以及组件提供的功能如下表所示:
Hutool 包含的组件
你可以根据项目需求对每个模块单独引入,也可以通过引入hutool-all
方式引入所有模块。不过,还是不建议引入所有模块,因为绝大部分功能项目可能都用不上,建议只引入你需要的模块。
另外,Hutool 也有一个比较明显的缺点,很多功能实现的比较简单比如图片验证码、Excel 工具类,很可能无法满足项目的实际需求。像这样情况,还是建议你选择在某一方面更优秀的工具库比如 Excel 工具库 MyExcel、EasyExcel、图片处理库 Imglib。
Hutool 实战
Hutool 的官方文档介绍的已经比较清晰了,奈何其提供的功能实在太多,我这里列举一些我个人觉得比较实用的功能,供大家学习参考。
引入依赖
Maven 仓库地址:https://mvnrepository.com/artifact/cn.hutool 。
这里为了方便,我们直接引入所有模块,实际项目中还是建议只引入自己需要的模块。
Maven:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version