再也不用自己封裝工具類,這個神級工具類太香了

1、背景

  • 在平時開發(fā)的過程中,你是否遇到過,當你要用到某個工具類時,通過百度查詢,但發(fā)現(xiàn)查詢到的方法有時存在bug。

  • 在一個項目中會發(fā)現(xiàn)同一個功能的工具類方法,會有很多種寫法,逐漸的項目里就累積了很多重復(fù)的工具類方法。

以上這些場景,我想大家都遇到過,所以今天給大家介紹的就是一個比較全面的工具:hutool

2、介紹

網(wǎng)址:https://hutool.cn/docs/#/

Hutool是一個小而全的Java工具類庫,通過靜態(tài)方法封裝,降低相關(guān)API的學(xué)習(xí)成本,提高工作效率,使Java擁有函數(shù)式語言般的優(yōu)雅,讓Java語言也可以“甜甜的”。

Hutool中的工具方法來自每個用戶的精雕細琢,它涵蓋了Java開發(fā)底層代碼中的方方面面,它既是大型項目開發(fā)中解決小問題的利器,也是小型項目中的效率擔當;

Hutool是項目中“util”包友好的替代,它節(jié)省了開發(fā)人員對項目中公用類和公用工具方法的封裝時間,使開發(fā)專注于業(yè)務(wù),同時可以最大限度的避免封裝不完善帶來的bug。

3、組件

一個Java基礎(chǔ)工具類,對文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進行封裝,組成各種Util工具類,同時提供以下組件:

模塊 介紹
hutool-aop JDK動態(tài)代理封裝,提供非IOC下的切面支持
hutool-bloomFilter 布隆過濾,提供一些Hash算法的布隆過濾
hutool-cache 簡單緩存實現(xiàn)
hutool-core 核心,包括Bean操作、日期、各種Util等
hutool-cron 定時任務(wù)模塊,提供類Crontab表達式的定時任務(wù)
hutool-crypto 加密解密模塊,提供對稱、非對稱和摘要算法封裝
hutool-db JDBC封裝后的數(shù)據(jù)操作,基于ActiveRecord思想
hutool-dfa 基于DFA模型的多關(guān)鍵字查找
hutool-extra 擴展模塊,對第三方封裝(模板引擎、郵件、Servlet、二維碼、Emoji、FTP、分詞等)
hutool-http 基于HttpUrlConnection的Http客戶端封裝
hutool-log 自動識別日志實現(xiàn)的日志門面
hutool-script 腳本執(zhí)行封裝,例如Javascript
hutool-setting 功能更強大的Setting配置文件和Properties封裝
hutool-system 系統(tǒng)參數(shù)調(diào)用封裝(JVM信息等)
hutool-json JSON實現(xiàn)
hutool-captcha 圖片驗證碼實現(xiàn)
hutool-poi 針對POI中Excel和Word的封裝
hutool-socket 基于Java的NIO和AIO的Socket封裝
hutool-jwt JSON Web Token (JWT)封裝實現(xiàn)

4、引入依賴

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

3、舉例

  • 日期

比如字符串轉(zhuǎn)日期

String dateStr = "2021-12-04";
Date date = DateUtil.parse(dateStr)

日期格式化輸出

//常用格式的格式化,結(jié)果:2021-12-04
String formatDate = DateUtil.formatDate(date);

//結(jié)果:2021-12-04 00:00:00
String formatDateTime = DateUtil.formatDateTime(date);
  • 字符串

判空

if(StrUtil.isNotBlank(param)){
  System.out.println("非空");
}
  • 集合

判空

if(CollUtil.isNotEmpty(list)){
  System.out.println("非空");
}

4、源碼

如果有時間的話,可以看看人家優(yōu)秀的源碼實現(xiàn),對自己的代碼能力會有所提升。

關(guān)注公眾號:臻大蝦,分享更多java后端干貨
你的支持是對我不斷創(chuàng)作的極大鼓勵,咱們下期見。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容