Hutool工具:使用Hutool工具进行Convert类型转换

本文介绍了如何在Java项目中使用Hutool工具库进行类型转换,通过Convert类简化代码,避免冗余的try-catch。同时展示了Hutool的源码阅读对开发的启示,并推荐在项目初期引入该工具库。此外,还讨论了如何利用Hutool的IdUtil生成高并发场景下的唯一ID,避免了自行实现雪花算法时可能遇到的并发问题。
摘要由CSDN通过智能技术生成

Hutool工具:使用Hutool工具进行Convert类型转换

建maven工程并在pom文件中导入依赖

在这里插入图片描述

痛点

在Java开发中我们要面对各种各样的类型转换问题,尤其是从命令行获取的用户参数,从HttpRequest获取的Parameter等等,这些参数类型多种多样,我们怎么去转换他们呢?常用的办法是先整成String,然后调用XXX.parseXXX方法,还要承受转换失败的风险,不得不加一层try catch,这个小小的过程混迹在业务代码中会显得非常难看和臃肿。

Convert类

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

测试

在这里插入图片描述

hutool工具中的Convert工具类的源码

在这里插入图片描述

启发

以后写项目的时候一定要首先引入hutool工具包,为了方便单元测试还要引入junit依赖。

以后我们写项目的时候要提前引入hutool工具的依赖,这样我们在后续的类型转换的时候就可以直接使用hutool工具包里面的类型转换的工具了。并且几乎我们写代码牵涉到的所有的工具类,包括日期转换什么了的,包括发送Http请求了,都可以在hutool工具包里面找到,所以我们今后要做的就是练习找hutool工具包里面的工具,知道怎么使用就行了。因此以后写项目的时候一定要首先引入hutool工具包,为了方便单元测试还要引入junit依赖。

下载hutool源码到本地

在这里插入图片描述

下载到本地之后,hutool源码工程如下图:

在这里插入图片描述

使用糊涂工具利用雪花算法生成唯一性id

如下图:
在这里插入图片描述
直接使用糊涂工具中的IdUtil.getSnowflake().nextId()方法生成唯一性id,糊涂工具中对雪花算法进行了封装改变,使它生成唯一性id的时候可以支持高并发的场景;最初始的时候,我想要利用雪花算法生成一个唯一性id,但是我没有使用糊涂工具中的IdUtil工具类,而是在网上找了一个雪花算法生成唯一性id的例子,然后就直接在项目中使用了。但是后面就出现问题了,在描述出现的问题之前,先要明白为什么根据雪花算法生成的id可以永远不重复呢?因为雪花算法用到了当前时间的毫秒时间戳,因为每时每刻它的毫秒时间戳都是不一样的,因此生成的id也就不一样了。现在来说下遇到的问题,就是在并发不高的情况下,没有太多在同一毫秒执行的客户端,这个时候生成的id确实是不一样的,但是当并发量特别大的时候,在同一毫秒执行的客户端有非常多,那么生成的雪花id就重复了。因此为了解决这个问题,直接使用了糊涂工具中的雪花算法生成唯一性id就可以了,因为那里面别人已经对雪花算法封装处理好了。

题外话

以后想要用Hutool工具的东西的时候,可以直接去百度搜索Hutool,然后进入官网查询相关内容。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr-X~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值