hutool日常用法
hutool 工具
模块 | 介绍 |
---|---|
hutool-aop | JDK动态代理封装,提供非IOC下的切面支持 |
hutool-bloomFilter | 布隆过滤,提供一些Hash算法的布隆过滤 |
hutool-cache | 简单缓存实现 |
hutool-core | 核心,包括Bean操作、日期、各种Util等 |
hutool-cron | 定时任务模块,提供类Crontab表达式的定时任务 |
hutool-crypto | 加密解密模块,提供对称、非对称和摘要算法封装 |
hutool-db | JDBC封装后的数据操作,基于ActiveRecord思想 |
hutool-dfa | 基于DFA模型的多关键字查找 |
hutool-extra | 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等) |
hutool-http | 基于HttpUrlConnection的Http客户端封装 |
hutool-log | 自动识别日志实现的日志门面 |
hutool-script | 脚本执行封装,例如Javascript |
hutool-setting | 功能更强大的Setting配置文件和Properties封装 |
hutool-system | 系统参数调用封装(JVM信息等) |
hutool-json | JSON实现 |
hutool-captcha | 图片验证码实现 |
hutool-poi | 针对POI中Excel和Word的封装 |
hutool-socket | 基于Java的NIO和AIO的Socket封装 |
hutool-jwt | JSON Web Token (JWT)封装实现 |
官网
https://hutool.cn/docs/#/
使用
类型转换
Convert类
Convert类可以说是一个工具方法类,里面封装了针对Java常见类型的转换,用于简化类型转换。Convert类中大部分方法为toXXX,参数为Object,可以实现将任意可能的类型转换为指定类型。同时支持第二个参数defaultValue用于在转换失败时返回一个默认值。
- 整形转字符串
String s = Convert.toStr(p);
int a = 1;
String aStr = Convert.toStr(a);
log.warn("aStr={}",aStr);
long[] b = {1,2,3,4,5};
String bStr = Convert.toStr(b);
log.warn("bStr={}",bStr);
aStr=1
bStr=[1, 2, 3, 4, 5]
- 转换为指定类型数组:
1、ObjectUtil的isNotEmpty与isNotNull区别
isNull用于判断参数是否为Null,isNotNull相反
isEmpty判断参数是否为Null或者空即’’,满足其中一个条件则其true
isNotEmpty相反,当参数既不为Null也不为空(“”), 2者都成立才为true
(空是指不含空白字符的"“, 非” ")
2、字符串非空判断:StringUtils中 isNotEmpty 和isNotBlank的区别
isNotEmpty 不能排除空格字符,对空的定义,( “” 、null)
eg:
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty(“”) = false
StringUtils.isNotEmpty(" “) = true
StringUtils.isNotEmpty(“bob”) = true
StringUtils.isNotEmpty(” bob “) = true
isNotBlank判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(String str)
isNotBlank ,对空的定义,( “” 、" “、null)
下面是示例:
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank(””) = false
StringUtils.isNotBlank(" “) = false
StringUtils.isNotBlank(”/t /n /f /r") = false
StringUtils.isNotBlank(“/b”) = true
StringUtils.isNotBlank(“bob”) = true
StringUtils.isNotBlank(" bob ") = true
不能为 null , “”, " " 才为 true
在某些业务上,用isNotBlank 比isNotEmpty 更好些
3、判断一个对象是否为空ObjectUtil.isNotNull
不能用来判断list 是否为空 , 只能是单独的对象
4、判断一个list 是否为空
(判断是否 为空对象、判断内容是否为空)
list.size()!=0&&list!=null
或者 !list.isEmpty() && list!=null
判断内容是否为空 list.size()!=0 等同于 !list.isEmpty() 前提是 list!=null 开辟空间\
5、hutool 工具类的 StrUtil.hasEmpty() 和 StrUtil.hasBlank
给定一些字符串,如果一旦有空的就返回true,常用于判断好多字段是否有空的(例如web表单数据)。
这两个方法的区别是hasEmpty只判断是否t为null或者有空字符串(“”),hasBlank则会把不可见字符也算做空,isEmpty和isBlank同理。