您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

不要再造轮子了,这个开源工具类库很好用。 {源码交易平台}

  • 时间:2022-08-29 00:09 编辑: 来源: 阅读:276
  • 扫一扫,手机访问
摘要:不要再造轮子了,这个开源工具类库很好用。 {源码交易平台}
Hutool是一个小而全的Java工具类库,帮助我们简化每一行代码,避免重复做轮子。 如果你需要使用一些工具,可以在Hutool中寻找。 本文总结了16个常用工具类,希望对你有帮助!Hutool的安装非常简单。在Maven项目中,只需在pom.xml中添加以下依赖项 & lt依赖性& gt& ltgroupId & gtcn.hutool & lt/groupId & gt;& ltartifactId & gtHu tool-all & lt;/artifact id & gt;& lt版本& gt5 . 4 . 0 & lt;/version & gt;& lt/dependency & gt;常用的工具类用一个工具方法代替一段复杂的代码,避免复制粘贴代码,可以大大提高我们的开发效率。下面是我常用的工具方法的细节!转换类型转换工具类,用于转换各种类型的数据。 通常我们在进行类型转换时,经常会面临类型转换失败的问题。如果我们想写try catch代码,我们不必用它来写!//转换成字符串int a = 1;string aStr = convert . tostr(a);//转换为指定类型数组String[] b = {"1 "," 2 "," 3 "," 4 " };integer[]bArr = convert . tointarray(b);//转换为日期对象字符串dateStr = " 2017-05-06 ";date date = convert . todate(dateStr);//转换成列表字符串[] strarr = {"a "," b "," c "," d " };列表& lt字符串& gtstrList = convert . to list(string . class,strArr);datetime工具类,它定义了一些常用的datetime操作方法。 JDK自己的日期和日历对象真的不好用。用它来操作日期和时间就容易多了!//Date、long、Calendar之间的转换//当前时间Date Date = dateutil . Date();//Calendar to date date = date util . date(Calendar . getinstance());//时间戳到date date = date util . date(system . current Time millis());//自动识别格式转换字符串dateStr = " 2017-03-01 ";date = date util . parse(dateStr);//自行设置格式转换日期= dateutil.parse (datestr," yyyy-mm-DD ");//打印格式日期字符串format = dateutil.format (date," yyyy-mm-DD ");//获取年份的一部分int year = date util . year(date);//获取月份,从0 int month = DateUtil.month(date)开始计数;//获取一天的起止时间date begino fday = date util . begino fday(date);Date endOfDay = DateUtil.endOfDay(日期);//计算偏移日期和时间date new date = date util . offset(date,datefield.day _ of _ month,2);//计算日期和时间的偏移量long between day = dateutil . between(date,new date,date unit . day);JSONUtilJSON解析工具类,可用于对象和JSON之间的转换。 PMS brand brand = new PMS brand();brand . setid(1L);Brand.setName("小米");brand . setshowstatus(1);//对象转换成JSON字符串string JSON STR = JSON util . parse(brand)。tostring();LOGGER.info("jsonUtil parse:{} ",JSON str);//JSON字符串转换成对象PMS brand bean = JSON util . tobe an(JSON str,PMS brand . class);LOGGER.info("jsonUtil toBean:{} ",brand bean);列表& ltPmsBrand & gtbrandList = new ArrayList & lt& gt();brandList.add(品牌);string jsonListStr = JSON util . parse(brand list)。toString();//将//JSON字符串转换为list brand list = jsonusil . to list(new JSON array(jsonliststr),PMS brand . class);LOGGER.info("jsonUtil toList:{} ",brand list);StrUtil字符串工具类,它定义了一些常用的字符串操作方法。 StrUtil的名字比StringUtil短,用起来更方便!//判断是否可以是空字符串String str = " teststrutil . isempty(str);strutil . isnotempty(str);//删除后缀strutil.removesuffix ("a.jpg ","。jpg ")从字符串;StrUtil.removePrefix("a.jpg "," a . ");//格式字符串String template = "这只是一个占位符:{ } ";STR2 = strutil.format(模板,“我是占位符”);LOGGER.info("/strUtil format:{} ",str 2);ClassPathResourceClassPath是一个单一的资源访问类,可以获取ClassPath下的文件。在Tomcat和其他容器下,类路径一般是WEB-INF/classes。 //获取src/main/resources文件夹中定义的配置文件class path resource = new class path resource(" generator . properties ");Properties属性=新属性();properties . load(resource . getstream());LOGGER.info("/classPath:{} ",properties);ReflectUtilJava反射工具类,可以用来反射获取类和创建对象的方法。 //获取一个类的所有方法method[]methods = reflect util . Get methods(PMS brand . class);//获取一个类的指定方法method method = reflect util . Get method(PMS brand . class," getid ");//使用反射创建对象PMS brand PMS brand = reflect util . new instance(PMS brand . class);//反射执行对象的方法reflectutil.invoke (pmsbrand," setid ",1);NumberUtil数字求解工具类,可用于各类数字的加减乘除和类型判断。 双n1 = 1.234双n2 = 1.234双重结果;float、double和BigDecimal的加减乘除。result = NumberUtil.add(n1,N2);result = NumberUtil.sub,N2);result = NumberUtil.mul(n1,N2);result = NumberUtil.div(n1,N2);//保留两位小数bigdecimal round num = number util . round(n1,2);String n3 = " 1.234//判断是否可以是数字、整数、浮点数number util . is number(n3);number util . is integer(n3);number util . is double(n3);BeanUtilJavaBean工具类,可用于转换Map和JavaBean对象以及复制对象属性。 PMS brand brand = new PMS brand();brand . setid(1L);Brand.setName("小米");brand . setshowstatus(0);//Bean来映射map < String,Object & gtmap = BeanUtil.beanToMap(品牌);logger . info(" bean util bean to map:{ } ",map);//映射到beanpsmbrand Map brand = beautil . maptobean(Map,pmsbrand.class,false);LOGGER.info("beanUtil映射到bean:{} ",map brand);//Bean属性copy PMS brand copy brand = new PMS brand();BeanUtil.copyProperties(brand,copy brand);logger . info(" bean util copy properties:{ } ",copy brand);CollUtil集合运算的一个工具类,定义了一些常用的集合运算。 //数组转换成列表string [] array = new string [] {"a "," b "," c "," d "," e " };列表& lt字符串& gtlist = coll util . new ArrayList(array);//join:将数组转换为字符串时,添加连接符号字符串joinstr = collutil.join (list,“,”);LOGGER.info("collUtil join:{} ",joinStr);//将连字符分隔的字符串转换为list list < String & gtsplit list = strutil . split(joinStr,',');LOGGER.info("collUtil split:{} ",split list);//创建一个新的Map,Set,listhashmap //添加多个要映射的键值对。映射<对象,对象>map = maputil . of(new String[][]{ { " key 1 "," value1"},{"key2 "," value2"},{"key3 "," value 3 " });//确定映射是否可以为空Map util . isempty(Map);map util . isnotempty(map);AnnotationUtil批注工具类,可用于获取批注和批注中指定的值。 //获取指定类、方法、字段、构造函数上的批注列表annotation[]annotation list = annotation util . Get annotations(hutool controller . class,false);logger . info(" annotation util annotations:{ } ",annotation list);//获取指定类型批注API API = annotation util . Get annotation(hutool controller . class,API . class);logger . info(" annotationUtil API value:{ } ",API . description());//获取指定类型批注的值,对象批注值=批注Util。GetAnnotation值(hutoolcontroller.class,request mapping . class);SecureUtil加密和解密工具类,可用于MD5加密。 //MD5加密字符串str = " 123456string MD5 str = secureutil . MD5(str);Logger.info ("secureutil MD5: {} ",MD5STR) Captchautil验证码工具类,可以用来生成图形验证码。 //生成验证码图片行验证码行验证码= CAPTCHAUTIL。CreateLINE验证码(200,100);请尝试{ request.getSession()。setAttribute("CAPTCHA_KEY ",line CAPTCHA . get code());response . setcontenttype(" image/png ");//告诉浏览器输出内容是picture response . set header(" pragma "," no-cache ");//禁止浏览器缓存response . set header(" cache-control "," no-cache ");response.setDateHeader("Expire ",0);line captcha . write(response . get output stream());} catch(io exception e){ e . printstacktrace();}Validator字段验证器,可以验证不同格式的字符串,如邮件、手机号、IP等格式。 //判断是否可以是邮箱地址boolean result = validator . isemail(" macro @ QQ . com ");logger . info(" Validator isEmail:{ } ",result);//判断是否可以是手机号结果= validator . is mobile(" 18911111111 ");logger . info(" Validator is mobile:{ } ",result);//判断是否可以是IPV4地址结果= validator . isip v4(" 192 . 168 . 3 . 101 ");LOGGER.info("验证器isIpv4:{} ",result);//判断是否可以是汉字result = validator . ischinese(" Hello ");logger . info(" Validator is Chinese:{ } ",result);//判断是否可以是身份证号(国内18位)结果= validator . iscitizenid(" 123456 ");logger . info(" Validator isCitizenId:{ } ",result);//判断是否可以是URL result = validator . isurl(" http://www . Baidu . com ");LOGGER.info("Validator isUrl:{} ",result);//判断是否可以是生日结果= validator . isbirthday(" 2020-02-01 ");logger . info(" Validator is birthday:{ } ",result);DigestUtil抽象算法工具类,支持MD5,SHA-256,Bcrypt等算法。 String password = " 123456//计算MD5摘要值并转换成十六进制字符串String Result = digest util . m D5 hex(password);logger . info(" DigestUtil MD 5 hex:{ } ",result);//计算SHA-256摘要值并转换成十六进制字符串result = digest util . sha 256 hex(password);logger . info(" DigestUtil sha 256 hex:{ } ",result);//生成Bcrypt加密的密文,检查字符串hash pwd = digest util . Bcrypt(password);boolean check = digest util . bcryptcheck(密码,hash pwd);logger . info(" DigestUtil bcryptCheck:{ } ",check);HttpUtilHttp请求工具类,可以发起GET/POST等请求。 string response = http util . get(" http://localhost:8080/Hu tool/covert ");LOGGER.info("HttpUtil get:{} ",response);


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【域名/主机/服务器|】qq邮箱提醒在哪里打开(2024-06-04 18:58)
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部