網站首頁 編程語言 正文
依賴包: <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.1.0</version> </dependency>
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<String> 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<String, Object> 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<String> list = CollUtil.newArrayList(array);
String joinStr = CollUtil.join(list, ",");
System.out.println("22、數組轉字符串時添加連接符號: \n" + joinStr + "\n");
// 23、將以連接符號分隔的字符串再轉換為列表
List<String> 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<Object, Object> newMap = CollUtil.newHashMap();
HashSet<Object> newHashSet = CollUtil.newHashSet();
ArrayList<Object> newList = CollUtil.newArrayList();
// 26、判斷列表是否為空
CollUtil.isEmpty(list);
System.out.println("26、判斷列表是否為空");
System.out.println("========SecureUtil.class========");
// 27、MD5加密
String md5Str = SecureUtil.md5("123456");
System.out.println("27、MD5加密: \n" + md5Str + "\n");
}
// 28、生成驗證碼圖片
public void captchaUtil(HttpServletRequest request, HttpServletResponse response) {
System.out.println("========CaptchaUtil.class========");
//生成驗證碼圖片
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100);
try {
request.getSession().setAttribute("CAPTCHA_KEY", lineCaptcha.getCode());
response.setContentType("image/png");//告訴瀏覽器輸出內容為圖片
response.setHeader("Pragma", "No-cache");//禁止瀏覽器緩存
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expire", 0);
lineCaptcha.write(response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
}
原文鏈接:https://blog.csdn.net/m0_59259076/article/details/124041114
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2023-07-24 前端借助Canvas實現壓縮base64圖片兩種方法
- 2022-07-08 C#使用WebClient實現上傳下載_C#教程
- 2022-06-18 C#使用Monitor類實現線程同步_C#教程
- 2022-03-09 C++之const限定符詳解_C 語言
- 2023-07-31 解決el-tree數據回顯時子節點部分選中,父節點都全選中的坑
- 2022-08-01 Python?OpenCV基于HSV的顏色分割實現示例_python
- 2023-04-24 React組件與事件的創建使用教程_React
- 2023-03-04 Golang錯誤處理方式異常與error_Golang
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支