Java優(yōu)秀類庫Hutool使用示例
介紹
日常的業(yè)務(wù)開發(fā),我們會重復(fù)編寫一些代碼:日期和字符串相互轉(zhuǎn)換、發(fā)送Http請求調(diào)用接口、拷貝對象等。所以為了避免重復(fù)編寫,項目中會封裝好相關(guān)方法,我們直接調(diào)用。但這樣是不是還是挺麻煩,封裝的方法我們還是得想得編,還得想的面面俱到。其實大可不必這么麻煩,Hutool是一個絕佳的解決方法,它是一款開源的java語言編寫的工具類庫,上述說的、還有其余非常多的工具性質(zhì)的方法,都已封裝好,非常全,幾乎可以滿足所有的業(yè)務(wù)訴求。
如何使用
下面我們舉幾個例子,引入依賴:
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.5</version> </dependency>
生成6位隨機的數(shù)字(發(fā)送驗證碼功能要用到):
import cn.hutool.core.util.RandomUtil; public class Test { public static void main(String[] args) { //生成6位隨機0~9的字符串 String code = RandomUtil.randomNumbers(6); //生成4位隨機a~z的字符串 String code1 = RandomUtil.randomString(RandomUtil.BASE_CHAR, 4); } }
對象的拷貝:
import cn.hutool.core.bean.BeanUtil; public class Test { public static void main(String[] args) { //把A對象的屬性值,復(fù)制到B對象的同名屬性上(屬性的大小寫也要一樣) BeanUtil.copyProperties(new A(), new B()); //可變參數(shù),A對象的age屬性不復(fù)制到B對象 BeanUtil.copyProperties(new A(), new B(), "age"); //忽略屬性的大小寫,如果A對象有個accountStatus屬性, //B對象有個accountstatus屬性,這時也能對應(yīng)復(fù)制 BeanUtil.copyProperties(new A(), new B(), true); //對象轉(zhuǎn)Map對象 Map<String, Object> map = BeanUtil.beanToMap(new Person()); //第二個參數(shù):是否轉(zhuǎn)換成下劃線形式,第三個參數(shù):是否忽略為null的屬性 Map<String, Object> map1 = BeanUtil.beanToMap(new Person(), false, true); } }
日期和字符串相互轉(zhuǎn)換:
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import java.util.Date; public class Test { public static void main(String[] args) { //轉(zhuǎn)換成yyyy-MM-dd HH:mm:ss形式 String s = DateUtil.formatDateTime(new Date()); System.out.println(s); //字符串轉(zhuǎn)日期類型,DateTime繼承自java.util.Date DateTime date = DateUtil.parse("2023-01-22 18:35:20"); } }
發(fā)送Http請求,調(diào)用接口:
import cn.hutool.http.HttpUtil; import java.util.HashMap; import java.util.Map; public class Test { public static void main(String[] args) { //發(fā)送get請求 String responseCode = HttpUtil.get("請求url"); Map<String, Object> map = new HashMap<>(); map.put("ip", "127.0.0.1"); map.put("id", 3); //發(fā)送post請求 String responseCode1 = HttpUtil.post("請球url", map); } }
總結(jié)
Hutool還能做許多其他的事,我就不一一列舉了。清一色的是xxxUtil類,然后調(diào)用static方法。方法不會用時,可以去看看它的說明文檔:https://hutool.cn/docs/。同時有空時可以點進去它的方法,看看它的源碼,看別人是如何實現(xiàn)的。
到此這篇關(guān)于Java優(yōu)秀類庫Hutool使用示例的文章就介紹到這了,更多相關(guān)Java Hutool內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot?替換?if?的參數(shù)校驗示例代碼
Spring?Validation是對hibernate?validation的二次封裝,用于支持spring?mvc參數(shù)自動校驗,接下來,我們以spring-boot項目為例,介紹Spring?Validation的使用,需要的朋友可以參考下2022-12-12springboot+webmagic實現(xiàn)java爬蟲jdbc及mysql的方法
今天小編就為大家分享一篇springboot+webmagic實現(xiàn)java爬蟲jdbc及mysql的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Spring MVC 學(xué)習(xí) 之 - URL參數(shù)傳遞詳解
本篇文章主要介紹了SpringMVC-URL參數(shù)傳遞,在學(xué)習(xí) Spring Mvc 過程中,有必要來先了解幾個關(guān)鍵參數(shù),有興趣的可以了解一下。2017-01-01SpringCloud Feign轉(zhuǎn)發(fā)請求頭(防止session失效)的解決方案
這篇文章主要介紹了SpringCloud Feign轉(zhuǎn)發(fā)請求頭(防止session失效)的解決方案,本文給大家分享兩種解決方案供大家參考,感興趣的朋友跟隨小編一起看看吧2020-10-10