天天看點

Hutool中那些常用的工具類和方法ConvertDateUtilStrUtilClassPathResourceReflectUtilNumberUtilBeanUtil

maven項目在pom.xml添加以下依賴即可:

<dependency>

<groupid>cn.hutool</groupid>

<artifactid>hutool-all</artifactid>

<version>4.6.3</version>

</dependency>

類型轉換工具類,用于各種類型資料的轉換。

//轉換為字元串

int a = 1;

string astr = convert.tostr(a);

//轉換為指定類型數組

string[] b = {"1", "2", "3", "4"};

integer[] barr = convert.tointarray(b);

//轉換為日期對象

string datestr = "2017-05-06";

date date = convert.todate(datestr);

//轉換為清單

string[] strarr = {"a", "b", "c", "d"};

list<string> strlist = convert.tolist(string.class, strarr);

日期時間工具類,定義了一些常用的日期時間操作方法。

//date、long、calendar之間的互相轉換

//目前時間

date date = dateutil.date();

//calendar轉date

date = dateutil.date(calendar.getinstance());

//時間戳轉date

date = dateutil.date(system.currenttimemillis());

//自動識别格式轉換

string datestr = "2017-03-01";

date = dateutil.parse(datestr);

//自定義格式化轉換

date = dateutil.parse(datestr, "yyyy-mm-dd");

//格式化輸出日期

string format = dateutil.format(date, "yyyy-mm-dd");

//獲得年的部分

int year = dateutil.year(date);

//獲得月份,從0開始計數

int month = dateutil.month(date);

//擷取某天的開始、結束時間

date beginofday = dateutil.beginofday(date);

date endofday = dateutil.endofday(date);

//計算偏移後的日期時間

date newdate = dateutil.offset(date, datefield.day_of_month, 2);

//計算日期時間之間的偏移量

long betweenday = dateutil.between(date, newdate, dateunit.day);

字元串工具類,定義了一些常用的字元串操作方法。

//判斷是否為空字元串

string str = "test";

strutil.isempty(str);

strutil.isnotempty(str);

//去除字元串的前字尾

strutil.removesuffix("a.jpg", ".jpg");

strutil.removeprefix("a.jpg", "a.");

//格式化字元串

string template = "這隻是個占位符:{}";

string str2 = strutil.format(template, "我是占位符");

logger.info("/strutil format:{}", str2);

擷取classpath下的檔案,在tomcat等容器下,classpath一般是web-inf/classes。

//擷取定義在src/main/resources檔案夾中的配置檔案

classpathresource resource = new classpathr

esource("generator.properties");

properties properties = new properties();

properties.load(resource.getstream());

logger.info("/classpath:{}", properties);

java反射工具類,可用于反射擷取類的方法及建立對象。

//擷取某個類的所有方法

method[] methods = reflectutil.getmethods(pmsbrand.class);

//擷取某個類的指定方法

method method = reflectutil.getmethod(pmsbrand.class, "getid");

//使用反射來建立對象

pmsbrand pmsbrand = reflectutil.newinstance(pmsbrand.class);

//反射執行對象的方法

reflectutil.invoke(pmsbrand, "setid", 1);

數字處理工具類,可用于各種類型數字的加減乘除操作及判斷類型。

double n1 = 1.234;

double n2 = 1.234;

double result;

//對float、double、bigdecimal做加減乘除操作

result = numberutil.add(n1, n2);

result = numberutil.sub(n1, n2);

result = numberutil.mul(n1, n2);

result = numberutil.div(n1, n2);

//保留兩位小數

bigdecimal roundnum = numberutil.round(n1, 2);

string n3 = "1.234";

//判斷是否為數字、整數、浮點數

numberutil.isnumber(n3);

numberutil.isinteger(n3);

numberutil.isdouble(n3);

javabean的工具類,可用于map與javabean對象的互相轉換以及對象屬性的拷貝。

pmsbrand brand = new pmsbrand();

brand.setid(1l);

brand.setname("小米");

brand.setshowstatus(0);

//bean轉map

map<string, object> map = beanutil.beantomap(brand);

logger.info("beanutil bean to map:{}", map);

//map轉bean

pmsbrand mapbrand = beanutil.maptobean(map, pmsbrand.class, false);

logger.info("beanutil map to bean:{}", mapbrand);

//bean屬性拷貝

pmsbrand copybrand = new pmsbrand();