很多公司都在用,建议收藏!

很多公司都在用,建议收藏!

0 概述

  • 作为一个国产工具类,在 Gitee 上拥有 22K stars,Github 上拥有 27.9K stars,相比于其他工具类,更适合国内开发宝宝的体质,还是非常好用的,支持 Hutool!以下我会列出我司项目中常用的工具类方法。

  • Hutool 官方文档地址:官方文档

  • Hutool API 手册:API手册

  • 使用 Hutool 工具类需要先在 pom.xml 文件中导入依赖

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

1 字符串工具类

  • StrUtil.isBlank(str):判断一个字符串是否为 null、“”、空格、\n、\t

    String str1 = " ";
    String str2 = "\n\t";
    String str3 = "EzCoding";
    
    System.out.println(StrUtil.isBlank(str1));  // 输出:true
    System.out.println(StrUtil.isBlank(str2));  // 输出:true
    System.out.println(StrUtil.isBlank(str3));  // 输出:false
    
  • StrUtil.contains(str, searchStr):判断一个字符串是否包含要查找的字符,包含返回 true,不包含返回 false

    String str = "EzCoding";
    // 注意:是区分大小写的
    System.out.println(StrUtil.contains(str, "Ez")); // 输出:true
    System.out.println(StrUtil.contains(str, "ez")); // 输出:false
    
  • StrUtil.sub(str, startIndex, endIndex):对字符串进行切割子集(左闭右开)

    String str = "EzCoding";
    String sub1 = StrUtil.sub(str, 0, -1);
    String sub2 = StrUtil.sub(str, 0, 2);
    System.out.println(sub1);   // 输出:EzCodin
    System.out.println(sub2);   // 输出:Ez
    
  • StrUtil.split(str, separator):对一个字符串进行切割,返回切割后的字符串数组

    String str = "Ez-Coding";
    System.out.println(StrUtil.split(str, "-"));  // [Ez, Coding]
    
  • StrUtil.join(conjunction, ...objs):对多个字符串按指定的拼接符进行拼接,返回拼接后的字符串

  • StrUtil.join(conjunction, iterable)

    String str1 = "Ez";
    String str2 = "Coding";
    List<String> strList = Arrays.asList("Hello", "Jasper", "EzCoding");
    String join1 = StrUtil.join(",", str1, str2); 
    String join2 = StrUtil.join("-", strList);    
    System.out.println(join1);  // 输出:Ez,Coding
    System.out.println(join2);  // 输出:Hello-Jasper-EzCoding
    
  • StrUtil.equals(str1, str2):比较两个字符串的内容是否相等,此方法默认需要区分大小写

  • StrUtil.equals(str1, str2, true):比较两个字符串的内容是否相等,不区分大小写

    String str1 = "EzCoding";
    String str2 = "abc";
    String str3 = "ABC";
    System.out.println(StrUtil.equals(str1, str2));   // 输出:false
    System.out.println(StrUtil.equals(str2, str3));   // 输出:false
    System.out.println(StrUtil.equals(str2, str3, true));   // 输出:true
    

2 时间工具类

  • DateUtil.date():获取当前日期时间,返回的是一个 DateTime 对象
  • DateUtil.now():获取当前日期时间,返回的是一个 String 对象
    DateTime date = DateUtil.date();  // 2024-01-19 21:47:18
    String now = DateUtil.now();      // 2024-01-19 21:47:18
    
  • DateUtil.parse(dateStr):字符串转日期,按照默认的格式转换
  • DateUtil.parse(dateStr, format):字符串转日期,按照指定的格式转换
    String now = "2024-01-19";
    DateTime parse1 = DateUtil.parse(now);  // 2024-01-19 00:00:00
    DateTime parse2 = DateUtil.parse(now, "yyyy-MM-dd");  // 2024-01-19 00:00:00
    
    // 必须要和传递的日期字符串格式一样,否者会报错
    // ParseException: Unparseable date: "2024-01-19"
    DateTime parse2 = DateUtil.parse(now, "yyyy/MM/dd");  
    

3 集合工具类

  • CollUtil.isEmpty(list):判断集合是否为空,为空返回 true,不为空返回 false
  • CollUtil.sub(list, startIndex, endIndex, step):返回切割后的子集(左闭右开),不会影响原集合,step 不传默认为 1
  • CollUtil.contains(list, value):判断集合是否包含某个值,包含返回 true,不包含返回 false
  • CollUtil.join(list, conjunction):按照指定符号,连接集合里的元素,返回连接后的字符串
    // 初始化数据
    List<String> list = Arrays.asList("a", "b", "c");
    
    // 判空
    boolean isEmpty = CollUtil.isEmpty(list);
    
    // 截取子集
    List<String> sub = CollUtil.sub(list, 0, 1);
    
    // 判断是否包含某个值
    boolean isContains = CollUtil.contains(list, "a");
    
    // 连接集合元素
    String join = CollUtil.join(list, "-");
    
    System.out.println(isEmpty);     // 输出:false
    System.out.println(sub);         // 输出:[a]
    System.out.println(list);        // 输出:[a, b, c]
    System.out.println(isContains);  // 输出:true
    System.out.println(join);        // 输出:a-b-c
    

4 JSON 工具类

  • JSONUtil.toJsonStr(obj):将一个对象转为 JSON 字符串
  • JSONUtil.parseObj(jsonStr):将一个字符串转为 JSONObject 对象
  • JSONUtil.parseArray(list):将一个 list 对象转为 JSONArray 对象
  • JSONUtil.parseArray(jsonStr):将一个 jsonStr 对象转为 JSONArray 对象
    // 初始化数据
    Map<String, Object> map = new HashMap<>();
    map.put("username", "Jasper");
    map.put("sex", 1);
    map.put("job", "Java Developer"); // 原 map 数据:{sex=1, job=Java Developer, username=Jasper}
    
    List<String> list = Arrays.asList("a", "b", "c");
    
    // 将一个对象转为 JSON 字符串
    String jsonStr = JSONUtil.toJsonStr(map); // {"sex":1,"job":"Java Developer","username":"Jasper"}
    
    // 将一个 JSON 字符串转为 JSONObject 对象
    JSONObject jsonObject = JSONUtil.parseObj(jsonStr); // {"sex":1,"job":"Java Developer","username":"Jasper"}
    
    // 将一个 list 对象转为 JSONArray 对象
    JSONArray jsonArray = JSONUtil.parseArray(list); // ["a","b","c"]
    

5 文件工具类

  • FileUtil.touch(str):创建文件
  • FileUtil.copy(srcPath, destPath, isOverride):复制文件
  • FileUtil.del(fullFilePath):删除文件
  • ZipUtil.zip(srcPath):压缩文件
  • ZipUtil.unZip(zipPath):解压文件

  • 以上就是在公司中经常使用到的 Hutool 工具类方法,作为 Hutool 重度爱好者,支持 Hutool,支持国产工具类!不知道其他小伙伴在公司中经常使用什么工具类呢?可以在评论区留言讨论哦~

  • 创作不易,感谢阅读,若遇到问题,可以关注此微信gzh:EzCoding 留言反馈,希望更够帮助到您

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值