GitHub精选 | 一个小而全的Java工具类库

createh510小时前技术教程5

《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个Java工具类库——Hutool。


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

Hutool包含的组件:

依赖:

  • Maven


cn.hutool

hutool-all

5.7.13

  • Gradle
implementation 'cn.hutool:hutool-all:5.7.13'

示例:

  • 类型转换工具类-Convert

Convert类封装了针对Java常见类型的转换,用于简化类型转换。

/**
* 转换为字符串
*/

int a = 1;

//aStr为"1"

String aStr = Convert.toStr(a);

long[] b = {1,2,3,4,5};

//bStr为:"[1, 2, 3, 4, 5]"

String bStr = Convert.toStr(b);
/**
* 转换为集合
*/

Object[] a = {"a", "你", "好", "", 1};

List list = Convert.convert(List.class, a);

//从4.1.11开始可以这么用

List list = Convert.toList(a);
  • 日期时间工具-DateUtil

DateUtil封装的主要是日期和字符串之间的转换,以及提供对日期的定位(一个月前等等)

/**
* Date、long、Calendar之间的相互转换
*/

//当前时间

Date date = DateUtil.date();

//当前时间

Date date2 = DateUtil.date(Calendar.getInstance());

//当前时间

Date date3 = DateUtil.date(System.currentTimeMillis());

//当前时间字符串,格式:yyyy-MM-dd HH:mm:ss

String now = DateUtil.now();

//当前日期字符串,格式:yyyy-MM-dd

String today= DateUtil.today();
  • 文件工具类-FileUtil

FileUtil类包含以下几类操作工具:

  1. 文件操作:包括文件目录的新建、删除、复制、移动、改名等
  2. 文件判断:判断文件或目录是否非空,是否为目录,是否为文件等等。
  3. 绝对路径:针对ClassPath中的文件转换为绝对路径文件。
  4. 文件名:主文件名,扩展名的获取
  5. 读操作:包括类似IoUtil中的getReader、readXXX操作
  6. 写操作:包括getWriter和writeXXX操作
  • 唯一ID工具-IdUtil
/**
* 生成UUID
*/

//生成的UUID是带-的字符串,类似于:a5c8a5e8-df2b-4706-bea4-08d0939410e3

String uuid = IdUtil.randomUUID();

//生成的是不带-的字符串,类似于:b17f24ff026d40949c85a24f4f375d42

String simpleUUID = IdUtil.simpleUUID();
/**
* 生成Snowflake
*/

//参数1为终端ID

//参数2为数据中心ID

Snowflake snowflake = IdUtil.getSnowflake(1, 1);

long id = snowflake.nextId();
  • 信息脱敏工具-DesensitizedUtil
// 身份证号5***************1X
DesensitizedUtil.idCardNum("51343620000320711X", 1, 2);

// 手机号180****1999
DesensitizedUtil.mobilePhone("18049531999");

更多内容请大家自行前往阅读Hutool参考文档



Gitee:https://gitee.com/dromara/hutool

hutool: 小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

相关文章

java中常用第三方类库

在日常的开发中我们可能会涉及到很多的字符串,集合等数据结构的操作。虽然jdk有提供的函数,但有时候不是很方便的使用。为了提高工作效果项目中我一般使用的第三方的类库。并且使用别人写好的类库可以很大程度...

Java网络编程实战:构建你的网络世界

Java网络编程实战:构建你的网络世界在网络的世界里,Java就像一位身怀绝技的侠客,它拥有强大的网络编程能力,可以帮助我们实现各种各样的网络应用。从简单的客户端服务器通信到复杂的分布式系统,Java...

GitHub2021年度前100的Java面试真题&高频知识点汇总

前言这是我在工作、面试中学习并总结到的一些知识点,都是一些比较典型的、面试常常被问到的问题。如果你平时没有注意去总结的话,那么当你面试被问到的时候可能会是一脸懵圈,就算这个问题你知道怎么回事,但是你平...

Google Aviator——轻量级 Java 表达式引擎实战

表达式引擎技术及比较Drools简介Drools(JBoss Rules )是一个开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规...