关注分享主机优惠活动
国内外VPS云服务器

大智慧教你学Java | Hu tool -一套保持Java的工具

打印字符串我在人民广场吃炸鸡打印字符串模板我在人民广场吃炸鸡我在人民广场吃炸鸡打印数组日志工具封装的日志工厂兼容各种日志框架,也非常好用。

前言不管我们在开发什么项目,都会用到N种工具类,比如DateUtils、FileUtils、StringUtils等等……开发一个新项目,我们需要把这些“轮子”复制一次。虽然只是Ctrl+C/V,但是也很麻烦,也让我们的Utils包看起来很臃肿?那么如何解决这个问题呢?不要心急,接下来是时候邀请我们的主角闪亮登场了(●'●)-Hu tool -一套让Java保持甜蜜的工具

Hutool官网有这样一段话:

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,让Java像函数式语言一样优雅,让Java语言变得“甜”。Hutool中的工具方法来自于每一个用户的细致工作,它涵盖了Java开发底层代码的方方面面。它不仅是大型项目开发中解决小问题的利器,也是小型项目中的高效担当。

Hutool Maven项目介绍Hutool很简单,直接添加到项目的pom.xml的依赖项中?你可以。

cn的设计理念。hutool hutool-all5.7.16 hutool就是尽量减少重复定义,尽量减少项目中util的包。以前我们在开发的时候,总是打开百度搜索XXX工具类,在一个博客里找到我们需要的代码,复制粘贴,然后修修补补,让它更有用;现在有了Hutool,我们只需要直接使用就可以了,所以还可以。是不是很简单O(∩_∩)O

下面是一些开发中常用的工具类~ P.S其实Hutool里的工具实在太多了,我都记不下来了()

日期工具JDK中包含的日期工具不太好用,Hutool的日期工具类用起来方便多了。

我们先获取当前日期。

public static void main(String[]args){ Date Date Date = Date util . Date();system . out . println(" date = "+date);}我们会发现它直接以yyyy-MM-dd HH:mm:ss的格式返回日期。让我们来看看date()方法的源代码。date()方法实际上返回DateTime,它继承自date对象,并重写toString()方法以返回yyyy-MM-dd HH:mm:ss格式的字符串。

让我们再试试string to date:parse()方法会自动识别一些常见的格式,比如:

yyyy -mm-ddhh:mm:ssyyyy -mm-ddhh:mm:ssyyyy -mm-ddhh:mm最人性化的是它可以识别中文格式:年、月、日、分、秒。

public static void main(string[]args){ string datestr = " 2021年11月22日10:32:07 ";date date = date util . parse(dateStr);system . out . println(" date = "+date);}先说计算时差。

public static void main(String[]args){ String datestr 1 = " 2021-11-22 10:32:07 ";date date 1 = date util . parse(datestr 1);string datestr 2 = " 2021-11-22 10:44:34 ";date date 2 = date util . parse(datestr 2);long between day = date util . between(date 1,date2,DateUnit。MS);string format between = date util . format between(between day,BetweenFormatter。level . SECOND);system . out . println(" format between = "+format between);} Input: formatBetween = 12分27秒。再说一个有趣的函数。给定一个日期,可以输出生肖和星座?我出生于1996年9月11日,所以我用我的出生日期来测试一下。

public static void main(String[]args){ String zodiac = date util . get zodiac(9,11);system . out . println(" zodiac = "+zodiac);string Chinese zodiac = date util . getchinese zodiac(1996);system . out . println(" Chinese zodiac = "+Chinese zodiac);} P.S .这里需要注意一下~在dateutil.getzodiac()方法中,月份是从0开始计算的。month参数中输入的9实际上代表的是10月,所以需要改成DateUtil.getZodiac(8,11)才能得到生日是9月11日的星座~

字符串工具类Hutool中的字符串工具类StrUtil类似于Apache Commons Lang包中的StringUtils。这里有一个有趣的方法。

public static void main(string[]args){ string template = "我叫{},我在{}城市";String = strutil.format (template,"李子叶","石家庄");system . out . println(" str = "+str ");}不知道有没有朋友觉得这个功能有点熟悉~短信界面模板是不是挺像的?

类型转换工具类类型转换在Java开发中非常常见。比如从HttpRequest获取参数时,前端页面传递一个整数,但后端只能先获取字符串,然后调用parseXXX()方法进行转换,检查和null判断比较复杂。

Hutool的Convert类可以简化这个操作,将任何可能的类型转换为指定的类型。以Int参数的转换为例。convert.toint(对象值,整数默认值)方法有两个参数。不用说,第一个参数就是要转换的参数。第二个参数的含义是在转换失败时返回给定的默认值。(第二个参数是可选的)

我们再来模拟一下转换失败的情况。

public static void main(String[]args){ String param = " qweqweqeqwe ";int paramindefault = convert . toint(param,0);system . out . println(" paramindefault = "+paramindefault ");}

流工具的IO操作包括读写,应用场景主要包括网络操作和文件操作。原生Java类库区分字符流和字节流,有n种字节流InputStream和OutputStream,用起来真的很头疼。

Hutool封装了流操作工具类IoUtil、文件读写操作工具类FileUtil、文件类型判断工具类FileTypeUtil等,使得流操作更加简单易行。(这里就不演示代码了,就多演示一下?原谅我想偷懒)

开发验证工具类时,表单是不可避免的,后端通常需要验证表单提交的数据。Hutool封装的Validator类可以进行很多有效的条件验证,比如是邮件地址,手机号码,还是中文…

Java中的解压工具,压缩文件和文件夹是一件非常繁琐的事情。Hutool打包的ZipUtil工具大大降低了理解压缩的复杂度,可以用一种方法完成压缩和解压缩,自动处理文件和目录的问题。

ZipUtil.zip(String srcPath,String zip path)zip util . unzip(String zip file path,@Nullable String outFileDir)

在控制台打印和开发过程中,经常需要使用System.out来打印结果,但是一些复杂的对象不支持直接打印。例如,当打印一个数组时,需要在打印前通过toString方法将其转换为一个字符串。Hutool封装的Console类借鉴了JS中的console.log(),使得打印成为一件非常简单的事情。

public static void main(string[]args){//打印字符串Console.log("我在人民广场吃炸鸡呢~ ");//打印字符串模板Console.log("我在{ } {吃炸鸡","人民广场");String [] str = { "我","在","人民广场","吃饭","炸鸡" };//打印数组console . log(str);}

LogFactory,日志工具Hutool封装的日志工厂,兼容各种日志框架,也非常好用。

/* * * * @程序:HuTool工具类演示* @描述:hutooltest * @作者:Zhuang ba . lizi ye * @ create:2021-11-22 10:29 * */公共类hutooltest { private static final log = log factory . get();public static void main(string[]args){ log . debug("我当时在人民广场吃炸鸡");Log.info("我当时在人民广场吃炸鸡");}}如果不想创建Log对象,也可以使用StaticLog(一个提供静态方法的Log类)。

总结Hutool里面有很多类库,尤其是一些第三方类库的进一步的包,比如邮件工具MailUtil,二维码工具QrCodeUtil,CacheUtil ImgUtil等。本文简单介绍一下Hutool,让你的朋友对它有个初步的了解。想深入学习Hutool,请移步Hutool官网O (∩ _ ∩) O。

我的经验有限,有些地方可能不是特别到位。如果你在阅读时想到了什么问题,请在评论区留言,我们稍后会一一讨论。‍

文章如有错误,欢迎留言指正;如果你有更好更原创的认识,欢迎在留言区留下你宝贵的想法。

被打击的时候,记得自己的珍贵,抵制恶意;迷茫的时候,坚信自己的珍贵,抛开流言蜚语;爱你所爱,做你所做,听你所不问。

未经允许不得转载:主机频道 » 大智慧教你学Java | Hu tool -一套保持Java的工具

评论 抢沙发

评论前必须登录!