Hutool工具简单用法

2024-06-17 18:36
文章标签 工具 简单 用法 hutool

本文主要是介绍Hutool工具简单用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、安装(POM)

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.16</version>
</dependency>

2、使用

1、DateUtil
//当前时间
Date date = DateUtil.date();
//Calendar转Date
date = DateUtil.date(Calendar.getInstance());
//时间戳转Date
date = DateUtil.date(System.currentTimeMillis());
//自动识别格式转换
String dateStr = "2024-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);
2、StrUtil
//判断是否为空字符串
String str = "abc";
StrUtil.isEmpty(str);
StrUtil.isNotEmpty(str);
//去除字符串的前后缀
StrUtil.removeSuffix("aaa.jpg", ".jpg");
StrUtil.removePrefix("bbb.jpg", "aaa.");
3、NumberUtil
double n1 = 3.1415926;
double n2 = 2.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);
4、BeanUtil
 
JavaBean的工具类,可用于Map与JavaBean对象的互相转换以及对象属性的拷贝。 
Brand brand = new PmsBrand();
brand.setId(1L);
brand.setName("小明");
brand.setAge(18);
//Bean转Map
Map<String, Object> map = BeanUtil.beanToMap(brand);
//Map转Bean
Brand mapBrand = BeanUtil.mapToBean(map, Brand.class, false);
//Bean属性拷贝
Brand copyBrand = new Brand();
BeanUtil.copyProperties(brand, copyBrand);
5、MapUtil
//判断Map是否为空
MapUtil.isEmpty(map);
MapUtil.isNotEmpty(map);
6、CollUtil
1、 // 获取普通ListList<Integer> list = CollUtil.newArrayList();list.add(1);list.add(2);list.add(2);list.add(3);System.out.println(list); // [1, 2, 2, 3]// 获取不可修改的集合Collection<Object> list1 = CollUtil.unmodifiable(new ArrayList<>());list1.add(1);//list1.set(0, 200);  // 报错Collection<Object> list2 = Collections.unmodifiableCollection(new ArrayList<>());list2.add("abc");//list2.set(0, "world");  // 报错2、 集合去重,不影响原集合数据。List<Integer> list = Arrays.asList(1, 2, 2, 3, 4, 4, 4, 5);ArrayList<Integer> list1 = CollUtil.distinct(list);List<Integer> list2 = list.stream().distinct().collect(Collectors.toList());System.out.println(list);  // [1, 2, 2, 3, 4, 4, 4, 5]System.out.println(list1); // [1, 2, 3, 4, 5]System.out.println(list2); // [1, 2, 3, 4, 5]3、 判断集合是否为空。List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);List<Integer> list2 = new ArrayList<>();List<Integer> list3 = null;System.out.println(CollUtil.isNotEmpty(list1)); // trueSystem.out.println(CollUtil.isEmpty(list2));    // trueSystem.out.println(CollUtil.isEmpty(list3));    // true4、求多个集合的交集、求多个集合的并集List<Integer> list1 = Arrays.asList(1, 2, 3, 3);List<Integer> list2 = Arrays.asList(1, 2, 3, 3, 3, 4);List<Integer> list3 = Arrays.asList(5, 6);//求多个集合的交集Collection<Integer> interList1 = CollUtil.intersection(list1, list2);Collection<Integer> interList2 = CollUtil.intersection(list2, list3);System.out.println(interList1); // [1, 2, 3, 3]System.out.println(interList2); // []//求多个集合的并集    Collection<Integer> unionList = CollUtil.union(list1, list2);System.out.println(unionList); // [1, 2, 3, 3, 3, 4]//求集合中最小值System.out.println(CollUtil.min(list1));  // 1//求集合中最大值System.out.println(CollUtil.max(list1)); //3

这篇关于Hutool工具简单用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070231

相关文章

python3 gunicorn配置文件的用法解读

《python3gunicorn配置文件的用法解读》:本文主要介绍python3gunicorn配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python3 gunicorn配置文件配置文件服务启动、重启、关闭启动重启关闭总结python3 gun

MySQL 中的 LIMIT 语句及基本用法

《MySQL中的LIMIT语句及基本用法》LIMIT语句用于限制查询返回的行数,常用于分页查询或取部分数据,提高查询效率,:本文主要介绍MySQL中的LIMIT语句,需要的朋友可以参考下... 目录mysql 中的 LIMIT 语句1. LIMIT 语法2. LIMIT 基本用法(1) 获取前 N 行数据(

C#中DrawCurve的用法小结

《C#中DrawCurve的用法小结》本文主要介绍了C#中DrawCurve的用法小结,通常用于绘制一条平滑的曲线通过一系列给定的点,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 如何使用 DrawCurve 方法(不带弯曲程度)2. 如何使用 DrawCurve 方法(带弯曲程度)3.使用Dr

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

pytorch之torch.flatten()和torch.nn.Flatten()的用法

《pytorch之torch.flatten()和torch.nn.Flatten()的用法》:本文主要介绍pytorch之torch.flatten()和torch.nn.Flatten()的用... 目录torch.flatten()和torch.nn.Flatten()的用法下面举例说明总结torch

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效