Java优秀类库Hutool使用示例
作者:尚少 发布时间:2021-12-09 18:12:06
标签:Java,Hutool,工具包
介绍
  日常的业务开发,我们会重复编写一些代码:日期和字符串相互转换、发送Http请求调用接口、拷贝对象等。所以为了避免重复编写,项目中会封装好相关方法,我们直接调用。但这样是不是还是挺麻烦,封装的方法我们还是得想得编,还得想的面面俱到。其实大可不必这么麻烦,Hutool是一个绝佳的解决方法,它是一款开源的java语言编写的工具类库,上述说的、还有其余非常多的工具性质的方法,都已封装好,非常全,几乎可以满足所有的业务诉求。
如何使用
  下面我们举几个例子,引入依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.5</version>
</dependency>
  生成6位随机的数字(发送验证码功能要用到):
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对象的属性值,复制到B对象的同名属性上(属性的大小写也要一样)
BeanUtil.copyProperties(new A(), new B());
//可变参数,A对象的age属性不复制到B对象
BeanUtil.copyProperties(new A(), new B(), "age");
//忽略属性的大小写,如果A对象有个accountStatus属性,
//B对象有个accountstatus属性,这时也能对应复制
BeanUtil.copyProperties(new A(), new B(), true);
//对象转Map对象
Map<String, Object> map = BeanUtil.beanToMap(new Person());
//第二个参数:是否转换成下划线形式,第三个参数:是否忽略为null的属性
Map<String, Object> map1 = BeanUtil.beanToMap(new Person(), false,
true);
}
}
  日期和字符串相互转换:
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) {
//转换成yyyy-MM-dd HH:mm:ss形式
String s = DateUtil.formatDateTime(new Date());
System.out.println(s);
//字符串转日期类型,DateTime继承自java.util.Date
DateTime date = DateUtil.parse("2023-01-22 18:35:20");
}
}
  发送Http请求,调用接口:
import cn.hutool.http.HttpUtil;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
//发送get请求
String responseCode = HttpUtil.get("请求url");
Map<String, Object> map = new HashMap<>();
map.put("ip", "127.0.0.1");
map.put("id", 3);
//发送post请求
String responseCode1 = HttpUtil.post("请球url", map);
}
}
来源:https://blog.csdn.net/gs2436/article/details/128750193


猜你喜欢
- C#重绘checkbox生成滑动开关,供大家参考,具体内容如下通过调用checkbox控件的paint事件,在重绘事件里判断checked属
- /**Bitmap放大的方法*/ private static Bitmap big(Bitmap bitmap) { Matrix mat
- 问题描述:String preStr = "a.b.c"; // 这里要把该字符串按小圆点进行分割,成"a&q
- 进程间图怎么传递图形buffer写这篇文章的目的:讲解 进程间图怎么传递图形buffer的最近研究图形缓存怎么在进程之间传递的,谷歌了所有的
- 本文实例讲述了C#实现程序等待延迟执行的方法。分享给大家供大家参考。具体如下:[System.Runtime.InteropServices
- java.nio.file.Files.walkFileTree是JDK7新增的静态工具方法。1.Files.walkFileTree的原理
- 前言这几天专门研究了下JNI编程,在网上找了好多资料,不过好多都是以前的,没有更新,而且有的还是错误的,让人不得不吐槽一把。所以觉得自己来一
- Vector实现班级信息管理系统,供大家参考,具体内容如下代码如下:import java.util.*;public class Demo
- java 中 * 机制的实例讲解在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,
- 由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象。为减轻数据库压力,我上个月对公司项目做了下调整。把新闻板块提取出来单独一
- 在项目中遇到try...catch...语句,因为对Java异常处理机制的流程不是很清楚,导致对相关逻辑代码不理解。所以现在来总结Java异
- 前言最近在给熔断器组件增加一个降级策略(Hystrix好像没有这个配置),我们提供了如下几种策略:1、默认策略2、返回常量值3、抛出指定异常
- Eclipse查看开发包jar里源代码的方法前言:最近我打算学习一下谷歌的类库Guava,下载了Guava-r09.jar包及其源码,为了可
- mybatis的trim标签一般用于去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接 “where“、“set“以及“val
- SpringBoot是什么?SpringBoot是spring家族中微型框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
- Lambda表达式无法抛出异常1.Demo 例子错误提示 - Unhandled exception: java.io.IOExceptio
- 0.关于AOP面向切面编程(也叫面向方面编程):Aspect Oriented Programming(AOP),是软件开发中的一个热点,也
- 首先看一下泛型的基本语法访问修饰符 返回类型 泛型方法名 <T>(T 参数)1):无法在泛型方法内部给任何 T 类型创建实例的对
- 前言代码生成器,也叫逆向工程,是根据数据库里的表结构,自动生成对应的实体类、映射文件和接口。看到很多小伙伴在为数据库生成实体类发愁,现分享给
- 3.3 do...while()循环3.3.1 do语句的语法:do