很多公司都在用,建议收藏!
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、\tString 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,不包含返回 falseString 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,不为空返回 falseCollUtil.sub(list, startIndex, endIndex, step)
:返回切割后的子集(左闭右开),不会影响原集合,step 不传默认为 1CollUtil.contains(list, value)
:判断集合是否包含某个值,包含返回 true,不包含返回 falseCollUtil.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 留言反馈,希望更够帮助到您