当前位置: 首页 > 工具软件 > Hutool > 使用案例 >

hutool日常用法

郎伟兆
2023-12-01

hutool 工具

模块介绍
hutool-aopJDK动态代理封装,提供非IOC下的切面支持
hutool-bloomFilter布隆过滤,提供一些Hash算法的布隆过滤
hutool-cache简单缓存实现
hutool-core核心,包括Bean操作、日期、各种Util等
hutool-cron定时任务模块,提供类Crontab表达式的定时任务
hutool-crypto加密解密模块,提供对称、非对称和摘要算法封装
hutool-dbJDBC封装后的数据操作,基于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-jsonJSON实现
hutool-captcha图片验证码实现
hutool-poi针对POI中Excel和Word的封装
hutool-socket基于Java的NIO和AIO的Socket封装
hutool-jwtJSON Web Token (JWT)封装实现

官网
https://hutool.cn/docs/#/

使用

类型转换

Convert类

Convert类可以说是一个工具方法类,里面封装了针对Java常见类型的转换,用于简化类型转换。Convert类中大部分方法为toXXX,参数为Object,可以实现将任意可能的类型转换为指定类型。同时支持第二个参数defaultValue用于在转换失败时返回一个默认值。

  1. 整形转字符串
 		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. 转换为指定类型数组:

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同理。

 类似资料: