Java - HuTool工具的介绍与使用(总)
本篇主要介绍 HuTool工具, 其是 java工具类,对于一些静态方法进行封装,虽然很小,但很全,里面拥有平时我们会用到的工具类,就无需我们自己去封装了
以前我还自己去封装,emmm,我真的太傻了~,但是自己封装也不是不好,但是学会站在巨人的肩膀上,也非常有必要
下面就简单介绍一下 HuTool工具 与 其简单使用
相关链接:
HuTool 工具介绍
Hutool 是一个小而全的 Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,涵盖了Java开发开发中的方方面面
使用 Hutool 可节省开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug
该工具类主要对 文件、流、加密解密、转码、正则、线程、XML等 JDK方法进行封装,组成各种Util工具类,同时提供以下组件:
可根据需求对每个模块 单独引入,也可以通过引入hutool-all方式引入所有模块
HuTool工具使用
HuTool 工具 的API文档与官网把其能干的事情说的很详细了,下面主要是列举出工具类能干什么,方法有哪些,顺带可以提一下原理是啥,会用并且懂原理是最好的学习方式
1、导包
使用首先导包,在项目的 pom.xml 中加入以下内容:【Hutool 5.x 支持 JDK8+,JDK7 使用 Hutool 4.x版本】Maven中央仓库
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.0</version>
</dependency>
若使用jar包,可去该 下载jar 网址下载hutool-all-X.X.X.jar即可
2、使用
HuTool 这个工具类提供了非常多的东西,看了下源码,基本上很全,下面对其提供了工具类根据自己的理解分了小类别,每个类别写一个小博客简单介绍一下实现的功能,下面一部分的说明来自官方文档,一部分来自看的源码,这里的源码版本为对应 5.8.0(若与您看的源码有所不同,请查看版本是否(相同)
2.1 基本类型 / 数组 / 数据类型转换 工具类
该类别主要有关于对数组操作、一些基本类型的操作、进制转换 等相关功能进行了封装(API文档)
- ArrayUtil:数组工具类
- BooleanUtil :Boolean 类型相关工具类
- ByteUtil:Byte 类型相关工具类
- CharUtil:字符工具类
- StrUtil:字符串工具类
- NumberUtil:数字工具类
- EnumUtil:枚举工具类
- CharsetUtil:字符集工具类
- HexUtil:十六进制工具类
- RadixUtil:进制转换工具类
- PrimitiveArrayUtil:原始类型数组工具类
介绍链接: Java - HuTool 使用 ArrayUtil、StrUtil等工具类(一)
2.2 Class 与 ClassLoader 相关的判断、加载 工具类
该类别主要对 对象、类、类加载、类的类型判断、反射 等相关功能进行了封装( API 文档 )
- ClassLoaderUtil:ClassLoader 工具类
- ClassUtil:类工具类
- ObjectUtil:对象工具类
- TypeUtil:针对Type的工具类封装
- ReflectUtil:反射工具类
- ReferenceUtil: 引用工具类
- JAXBUtil:JAXB(Java Architecture for XML Binding),根据XML Schema产生Java对象
- SerializeUtil:类序列化工具类
- ModifierUtil:类修饰符工具类
- ServiceLoaderUtil:SPI机制中的服务加载工具类
介绍链接:Java - HuTool 使用 ReflectUtil、ClassUtil等工具类(二)
2.3 常用功能封装 工具类
在项目开发过程中,会涉及到一些信息的有效性验证,例如电话号码、身份证号、社会信用代码,对身份敏感的数据需要脱敏等,下面的工具类就是我们常用的一些工具类的封装
- PhoneUtil:电话号码工具类
- IdcardUtil:身份证相关工具类
- IdUtil:ID生成器工具类
- RandomUtil:随机工具类
- ReUtil:正则相关工具类
- ZipUtil:压缩工具类
- CreditCodeUtil:统一社会信用代码(GB32100-2015)工具类
- CoordinateUtil:坐标系转换相关工具类
- DesensitizedUtil:脱敏工具类
介绍链接:Java - HuTool 使用 PhoneUtil、ReUtil等工具类(三)
2.4 文件 / 路径 / 系统相关工具类
包括像文件中内容转义、XML文件处理、URL处理、系统属性相关工具类
- EscapeUtil:转义和反转义工具类
- XmlUtil:XML工具类
- HashUtil:Hash算法工具类
- SystemPropsUtil:系统属性工具
- URLUtil:URL统一资源定位符相关工具类
- PageUtil:分页工具类
- RuntimeUtil:系统运行时工具类
介绍链接:Java - HuTool 使用 EscapeUtil、XmlUtil等工具类(四)
总结
其实 huTool 工具提供了很多的功能,有些功能也或多或少存在一些问题,其官网有些部分的介绍也进行了说明,但是问题不大,其次,我觉得它的官方文档不是很清晰,API文档应该也是直接在源码用JavaDoc生成的,就看起来很累~
除了这些工具类,其还有很多其他的,比如实现/集成其提供的接口/类实现一些功能,后期学习的时候,如果学习到了,也会在后续的博客补充,不仅要会用,还是想了解一下底层的大概原理是啥