依赖包:
cn.hutool
hutool-all
5.1.0
package com.zhang.common;
import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.LineCaptcha;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.zhang.entity.Animal;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
public class Test {
private static final String[] STRING_ARRAY = {"1", "2", "3"};
public static void main(String[] args) {
// Convert.class
System.out.println("=======Convert.class===========");
// 1、数字(金额)转换汉字
double amount = 10500.56;
String digitToChinese = Convert.digitToChinese(amount);
System.out.println("1、数字(金额)转换汉字:\n" + digitToChinese + "\n"); // 壹万零伍佰元伍角陆分
// 2、数字转换为字符串
int num = 2;
String toStr = Convert.toStr(num);
System.out.println("2、数字转换为字符串:\n" + toStr + "\n"); // 2
// 3、字符串数组转换为指定类型的数组
Integer[] intArray = Convert.toIntArray(STRING_ARRAY);
System.out.println("3、字符串数组转换为指定类型的数组:");
for (Integer integer : intArray) {
System.out.print(integer + ", "); // 1 2
}
System.out.println("\n");
// 4、字符串转日期对象
Date date_ = Convert.toDate("2022-04-08");
System.out.println("4、Convert.toDate(\"2022-04-08\"):\n" + date_ + "\n"); //
// 5、字符串数组转List列表
List stringList = Convert.toList(String.class, STRING_ARRAY);
System.out.println("5、字符串数组转List列表");
stringList.forEach(System.out::println);
//
System.out.println("========DateUtil.class=========");
// 6、获取当前时间
System.out.println("6、获取当前时间:\n" + DateUtil.date() + "\n");
Date currentDate;
// 7、Calendar转Date
currentDate = DateUtil.date(Calendar.getInstance());
System.out.println("7、Calendar转Date:\n" + currentDate + "\n");
// 8、时间戳转Date
currentDate = DateUtil.date(System.currentTimeMillis());
System.out.println("8、时间戳转Date:\n" + currentDate + "\n");
// 9、自动识别格式转换
currentDate = DateUtil.parse("2022-04-08");
System.out.println("9、自动识别格式转换:\n" + currentDate + "\n");
// 10、自定义格式化转换
currentDate = DateUtil.parse("2022-04-08", "yyyy-MM-dd");
System.out.println("10、自定义格式化转换" + currentDate + "\n");
// 11、格式化输出日期
String format = DateUtil.format(currentDate, "yyyy-MM-dd");
System.out.println("11、格式化输出日期, 格式\"yyyy-MM-dd\"):\n" + format + "\n");
// 12、获得年的部分
int year = DateUtil.year(currentDate);
System.out.println("12、获得年的部分:\n" + year + "\n");
// 13、获得月份,从0开始计数 +1获取当前月份
int month = DateUtil.month(currentDate);
System.out.println("13、获得月份,从0开始计数 +1获取当前月份:\n" + month + "\n");
// 14、获取某天的开始2020-09-01 00:00:00、结束时间 2020-09-01 23:59:59
Date beginOfDay = DateUtil.beginOfDay(currentDate);
Date endOfDay = DateUtil.endOfDay(currentDate);
System.out.println("14、获取今天的开始 00:00:00:\n" + beginOfDay + "\n");
System.out.println("14、获取今天的结束 23:59:59:\n" + endOfDay + "\n");
// 15、计算偏移后的日期时间 (当前时间加两天)
Date newDate = DateUtil.offset(currentDate, DateField.DAY_OF_MONTH, 2);
System.out.println("15、计算偏移后的日期时间 (当前时间加两天):\n" + newDate + "\n");
// 16、计算日期时间之间的偏移量(date与newDate相差的天数)
long betweenDay = DateUtil.between(currentDate, newDate, DateUnit.DAY);
System.out.println("16、计算日期时间之间的偏移量(date与newDate相差的天数):\n" + betweenDay + "\n");
System.out.println("========StrUtil.class========");
// 17、去除字符串的前后缀
StrUtil.removeSuffix("a.jpg", ".jpg");
String s = StrUtil.removePrefix("Hello,World", "Hello,");
System.out.println("17、去除字符串的前后缀:\n " + s + "\n");
// 18、格式化字符串,占位 你好: 小明
String template = "你好: {}";
String str2 = StrUtil.format(template, "小明");
System.out.println("18、格式化字符串,占位:\n" + str2 + "\n");
System.out.println("========NumberUtil.class========");
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);
System.out.println("========NumberUtil.class========");
// 19、bean转map
Animal animal = new Animal().setName("母鸡")
.setId("93b845146bd2a3ae13ae0da7b65167ap");
Map map = BeanUtil.beanToMap(animal);
System.out.println("19、bean转map:\n " + map.get("id") + "\n");
// 20、map转bean
Animal mapToBean = BeanUtil.mapToBean(map, Animal.class, false);
System.out.println("20、map转bean:\n " + mapToBean + "\n");
// 21、bean属性拷贝
Animal newAnimal = new Animal();
BeanUtil.copyProperties(animal, newAnimal);
System.out.println("21、bean属性拷贝:\n" + newAnimal + "\n");
System.out.println("========CollUtil.class========");
// 22、数组转换为列表
String[] array = new String[]{"a", "b", "c", "d", "e"};
List list = CollUtil.newArrayList(array);
String joinStr = CollUtil.join(list, ",");
System.out.println("22、数组转字符串时添加连接符号: \n" + joinStr + "\n");
// 23、将以连接符号分隔的字符串再转换为列表
List splitList = StrUtil.split(joinStr, ',');
System.out.println("23、数组转换为列表: \n");
splitList.forEach(System.out::println);
// 25、创建新的Map、Set、List
System.out.println("25、创建新的Map、Set、List");
HashMap