前言
上述是 Hutool 的官方介绍,它的官方文档已经介绍的很详细了,因此下面我只简单介绍几个常用的 API 操作,更多的功能我们可以详细阅读文档。
官方文档地址:https://www.hutool.cn/docs/#/
HuTool 中的一些常用工具类
我们引入这个工具类很简单,直接在 Mavan 项目中引入 dependency 即可,如果是初学者,去 Maven Repository 下载 jar 包也可以使用。
?
1 2 3 4 5 |
|
通过 Hutool,可以减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。
日期相关 API
我们知道,Java 中关于日期的 API 使用一直很繁琐,从 Date 到 Calendar,对开发者都不是那么友好,还容易出 BUG,那么 Hutool 首先就对日期下手了,提供了针对 JDK 中 Date 和 Calendar 对象的封装。
比如要对当前的 Date 日期进行格式化,一般使用 SimpleDateFormat(yyyy-MM-dd HH:mm:ss) 这种方式,但 SimpleDateFormat 这个类是线程不安全的,而 Hutool 提供了一个 FastDateFormat 类,提供线程安全的针对 Date 对象的格式化和日期字符串解析支持。此对象在实际使用中并不需要感知,相关操作已经封装在 DateUtil 和 DateTime 的相关方法中。
还有其它的日期 API 如下:
- DateUtil 针对日期时间操作提供一系列静态方法
- DateTim 提供类似于 Joda-Time 中日期时间对象的封装,继承自 Date 类,并提供更加丰富的对象方法。
- DateBetween 计算两个时间间隔的类,除了通过构造新对象使用外,相关操作也已封装在 DateUtil 和 DateTime 的相关方法中。
- TimeInterval 一个简单的计时器类,常用于计算某段代码的执行时间,提供包括毫秒、秒、分、时、天、周等各种单位的花费时长计算,对象的静态构造已封装在 DateUtil 中。
- DatePattern 提供常用的日期格式化模式,包括 String 类型和 FastDateFormat 两种类型。
随机工具
随机工具应该是我们开发中用的较多的类库,Hutool 也封装了常用的 API。
- RandomUtil.randomInt 获得指定范围内的随机数
- RandomUtil.randomBytes 随机 bytes
- RandomUtil.randomEl 随机获得列表中的元素
- RandomUtil.randomEleSet 随机获得列表中的一定量的不重复元素,返回 Set
- RandomUtil.randomString 获得一个随机的字符串(只包含数字和字符)
- RandomUtil.randomNumbers 获得一个只包含数字的字符串
- RandomUtil.randomUUID 随机 UUID
- RandomUtil.weightRandom 权重随机生成器,传入带权重的对象,然后根据权重随机获取对象
图片工具
针对 awt 中图片处理进行封装,这些封装包括:缩放、裁剪、转为黑白、加水印等操作。
彩色转换成黑白
?
1 2 |
|
添加文字水印
?
1 2 3 4 5 6 7 8 9 |
|
加密解密工具
加密一般分为三种:
- 对称加密(symmetric),例如:AES、DES等
- 非对称加密(asymmetric),例如:RSA、DSA等
- 摘要加密(digest),例如:MD5、SHA-1、SHA-256、HMAC等
Hutool 对上述加密都提供了对应的封装方法。
布隆过滤器
布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。一般用于解决 NoSQL 的缓存穿透问题。
?
1 2 3 4 5 6 7 8 |
|
邮件工具
在 Java中 发送邮件主要品依靠 javax.mail 包,原生 API 使用比较繁琐,Hutool 在支持邮件发送的基础上,仍然依赖于 javax.mail 包。
?
1 2 3 4 5 |
|
邮件服务器的完整配置:
?
1 2 3 4 5 6 7 8 9 10 |
|
发送邮件:
- 发送普通文本邮件,最后一个参数可选是否添加多个附件:
?
1 2 |
|
- 发送 HTML 格式的邮件并附带附件,最后一个参数可选是否添加多个附件:
?
1 2 |
|
- 群发邮件,可选 HTML 或普通文本,可选多个附件:
?
1 2 3 4 5 6 7 8 |
|
HTML 工具
比如清除富文本编辑器中的 HTML 文本的指定标签,或者只保留普通文本。
HtmlUtil.cleanHtmlTag
清除所有 HTM L标签,但是保留标签内的内容。
?
1 2 3 4 |
|
HtmlUtil.removeHtmlTag
清除指定HTML标签和被标签包围的内容
?
1 2 3 4 |
|
过滤 HTML 文本,防止 XSS 攻击
这个作用就不必多说,防止用户在输入文本中写入 HTML 标签对后台造成攻击。
?
1 2 3 4 |
|
JSON 工具
由于有开源并且一直在维护的 Fastjson 工具在先,所以这里就不再细说 Hutool 中的 JSON 工具,使用方法基本类似。
写在最后
上面只是简单的介绍了 Hutool 的典型常用工具,实际上 Hutool 基本覆盖了我们日常普通开发场景涉及的大部分工具类,有兴趣的可以自行查阅文档,介绍的很全,如果使用中遇到了 BUG,也欢迎及时向作者反馈哦 。
以上就是Java常用工具类库——Hutool的使用简介的详细内容,更多关于Java 工具类库Hutool的使用的资料请关注服务器之家其它相关文章!
原文链接:https://bestzuo.cn/posts/hutool.html
本文链接:https://my.lmcjl.com/post/18442.html
4 评论