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();