前言
Hutool中提供了许多封装好的工具类,本人整理了下web项目中常用的一些工具类和方法,更多详细的用法直接点击跳转官方文档查阅。
1.IO流工具-IoUtil,FileUtil
readLines
-按行读取close
-关闭流
1 |
|
执行结果:
1 | 10:57:23.174 [main] INFO common.HutoolTest - test1.text 内容: [红豆生南国,, 春来发几枝。, 愿君多采撷,, 此物最相思。] |
2.对象工具-ObjectUtil
defaultIfNull
-默认值equals
-比较两个对象是否相等isNull
isNotNull
isEmpty
isNotEmpty
-判空isBasicType
-判断对象是否为基础类型clone
cloneIfPossible
-克隆对象
1 |
|
执行结果:
1 | 15:01:06.520 [main] INFO common.HutoolTest - *****************1.默认值****************** |
3.集合、Map和数组工具-CollUtil,ListUtil,MapUtil,ArrayUtil
isEmpty
,isNotEmpty
和defaultIfEmpty
-判空和默认值方法几个工具类都有就不一一举例了
CollUtil
newArrayList
-初始化一个可变集合join
-集合转换为拼接字符串sortPageAll
1 | // CollUtil.newArrayList返回的list支持修改,Arrays.asList返回的list继承了AbstractList,不可修改 |
执行结果:
1 | 14:47:33.974 [main] INFO common.HutoolTest - join: a,b,c, list=[a, b, c] |
ListUtil
of
-初始化UnmodifiableRandomAccessList集合toList
-初始化ArrayList集合toLinkedList
-初始化LinkedList集合unmodifiable
-构建不可修改集合reverse
reverseNew
-反转集合sortByPinyin
-拼音排序集合
1 |
|
执行结果:
1 | 15:35:38.478 [main] INFO common.HutoolTest - list1: [a, b, c], class=class java.util.Collections$UnmodifiableRandomAccessList |
MapUtil
newHashMap
-初始化Mapjoin
-map拼接成字符串reverse
-键和值互换toListMap
-行转列toMapList
-列转行getKey
-根据值获取键
1 |
|
执行结果:
1 | 16:32:07.895 [main] INFO common.HutoolTest - map: {a=1, b=2, c=3} |
ArrayUtil
isArray
-是否为数组join
-数组拼接字符串toString
-数组toStringcontains
-包含元素判断
1 |
|
执行结果:
1 | 17:12:59.713 [main] INFO common.HutoolTest - isArray: true, a=[1, 2, 3] |
4.字符串工具-StrUtil
reverse
-反转字符串format
-format方法 与sl4j用法完全一样addSuffixIfNot
commonSuffix
endWithAnyIgnoreCase
removeSuffixIgnoreCase
- 后缀相关处理
1 |
|
执行结果:
1 | 17:49:39.296 [main] INFO common.HutoolTest - reverse: cba |
5.Bean工具-BeanUtil
isBean
-是否为Bean对象toBean
-map转beanbeanToMap
-bean转map
1 |
|
执行结果:
1 | 18:10:01.223 [main] INFO common.HutoolTest - isBean: false |
6.类型转换工具-Convert
toStr
-转换成字符串toIntArray
-转换为指定类型数组toDate
-转换为日期对象toList
-转换为集合convertTime
-时间单位转换digitToChinese
-额大小写转换
1 |
|
执行结果:
1 | 21:35:40.676 [main] INFO common.HutoolTest - aStr: 1 |
7.字段验证器-Validator
isEmail
-邮箱校验isIpv4
-Ipv4校验isUrl
-url校验isCreditCode
-统一社会信用代码校验isUUID
-UUID校验isLetter
-字母校验isChinese
-中文校验isNumber
-数字校验
1 |
|
执行结果:
1 | 22:19:10.655 [main] INFO common.HutoolTest - isEmail: true |
8.正则工具-ReUtil
isMatch
-是否匹配给定正则contains
-是否包含给定正则的字符串findAll
-查找所有匹配文本getFirstNumber
-找到匹配的第一个数字
1 |
|
执行结果:
1 | 22:37:10.223 [main] INFO common.HutoolTest - isMatch: true |
9.日期时间工具-DateUtil
now
today
-当前时间、当前日期parse
format
formatDate
… -格式化输出日期offset
yesterday
lastWeek
… - 日期时间偏移between
-日期时间差getZodiac
-星座getChineseZodiac
-属相ageOfNow
-年龄isLeapYear
-是否闰年
1 |
|
执行结果:
1 | 22:01:38.392 [main] INFO common.HutoolTest - ****************当前时间***************** |
10.数学相关工具-NumberUtil,MathUtil
NumberUtil
isNumber
-是否为数字isInteger
-是否为整数isDouble
-是否为浮点数isPrimes
-是否为质数decimalFormat
-数字格式化add
sub
mul
div
-四则运算(解决float和double类型无法进行精确计算的问题)factorial
-阶乘
1 |
|
执行结果:
1 | 22:06:17.108 [main] INFO common.HutoolTest - ****************是否为数字***************** |
MathUtil
arrangementCount
-计算排列数arrangementSelect
-排列选择(从列表中选择n个排列)combinationCount
-计算组合数combinationSelect
-组合选择(从列表中选择n个组合)
1 |
|
执行结果:
1 | 22:07:12.414 [main] INFO common.HutoolTest - matchesCount1: 30, A(m,n)=30 |
11.Http工具-HttpUtil
isHttps
isHttp
-判断Url是否https,httpget
-GET请求post
-POST请求
1 |
|
执行结果:
1 | 22:08:52.414 [main] INFO common.HutoolTest - isHttps: true, isHttp: false |
12.HTML工具-HtmlUtil
escape
-转义HTML特殊字符unescape
-还原被转义的HTML特殊字符removeHtmlTag
-清除指定HTML标签和被标签包围的内容cleanHtmlTag
-清除所有HTML标签,但是保留标签内的内容
1 |
|
执行结果:
1 | 22:10:30.589 [main] INFO common.HutoolTest - escape: <html><body>123'123'</body></html> |
13.Spring工具-SpringUtil
getBean
-获取指定Bean
1 |
|
执行结果:
1 | 20:30:31.895 INFO 40615 --- [main] common.HutoolTest : handler1: com.xxx.handler.AliPayHandler@653fb8d1 |
- 本文作者: yinshuang
- 本文链接: https://yinshuang007.github.io/2023/07/04/Hutool常用工具类整理/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!