Hutool使用

1、简介

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率。
Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

应用场景:
以二维码生成为例:

👴【以前】打开搜索引擎 -> 搜“Java 二维码生成” -> 打开某篇博客-> 复制粘贴 -> 改改好用
👦【现在】引入Hutool -> QrCodeUtil.generate(“https://hutool.cn/”, 300, 300, FileUtil.file(“d:/qrcode.jpg”));

总结:Hutool帮我们节约了花费在面向百度的时间,使我们只要专注于业务就完事了。

2、入门和安装

📦安装

🍊Maven
在项目的pom.xml的dependencies中加入以下内容:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.0</version>
</dependency>

🍐Gradle

compile ‘cn.hutool:hutool-all:5.7.0’

3、 部分Util的使用Demo

Demo1、二维码工具-QrCodeUtil
1.1、引入zxing

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.3.3</version>
</dependency>

1.2、调用QrCodeUtil的generate方法生成二维码

// 生成指定url对应的二维码到文件,宽和高都是300像素
QrCodeUtil.generate("https://hutool.cn/", 300, 300, FileUtil.file("d:/qrcode.jpg"));

效果图

在这里插入图片描述
QrConfig可以自定义二维码的生成参数,例如长、宽、二维码的颜色、背景颜色、边距等参数,详情还得参考官方文档:链接: http://hutool.cn/.

2、身份证工具-IdcardUtil
2.1 调用IdcardUtil

String ID_18 = "321083197812162119";
String ID_15 = "150102880730303";

//是否有效
boolean valid = IdcardUtil.isValidCard(ID_18);
boolean valid15 = IdcardUtil.isValidCard(ID_15);

//转换
String convert15To18 = IdcardUtil.convert15To18(ID_15);
Assert.assertEquals(convert15To18, "150102198807303035");

//年龄
DateTime date = DateUtil.parse("2017-04-10");
        
int age = IdcardUtil.getAgeByIdCard(ID_18, date);
Assert.assertEquals(age, 38);

int age2 = IdcardUtil.getAgeByIdCard(ID_15, date);
Assert.assertEquals(age2, 28);

//生日
String birth = IdcardUtil.getBirthByIdCard(ID_18);
Assert.assertEquals(birth, "19781216");

String birth2 = IdcardUtil.getBirthByIdCard(ID_15);
Assert.assertEquals(birth2, "19880730");

//省份
String province = IdcardUtil.getProvinceByIdCard(ID_18);
Assert.assertEquals(province, "江苏");

String province2 = IdcardUtil.getProvinceByIdCard(ID_15);
Assert.assertEquals(province2, "内蒙古");

工具中主要的方法包括:

1、isValidCard 验证身份证是否合法
2、convert15To18 身份证15位转18位
3、getBirthByIdCard 获取生日
4、getAgeByIdCard 获取年龄
5、getYearByIdCard 获取生日年
6、getMonthByIdCard 获取生日月
7、getDayByIdCard 获取生日天
8、getGenderByIdCard 获取性别
9、getProvinceByIdCard 获取省份

Demo3、信息脱敏工具-DesensitizedUtil
介绍
在数据处理或清洗中,可能涉及到很多隐私信息的脱敏工作,因此Hutool针对常用的信息封装了一些脱敏方法。
现阶段支持的脱敏数据类型包括:

1、用户id
2、中文姓名
3、身份证号
4、座机号
5、手机号
6、地址
7、电子邮件
8、密码
9、中国大陆车牌,包含普通车辆、新能源车辆
10、银行卡
整体来说,所谓脱敏就是隐藏掉信息中的一部分关键信息,用*代替,自定义隐藏可以使用StrUtil.hide方法完成。

例子

// 5***************1X
DesensitizedUtil.idCardNum("51343620000320711X", 1, 2);

Hutool的使用差不多就这么简单,更多的使用方法请参考它的官方文档
链接: http://hutool.cn/.

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值