你是否曾经为处理字符串而感到头疼?
无论是判断字符串是否为空、转换为数字、去除空格,还是进行拼接、替换或截取操作,这些常见的字符串处理需求经常让人感到烦恼。
今天给大家带来一个Java工具类库 -- Hutool,它封装了很多常用的功能,包括字符串、日期、加密、IO、网络等方面的操作,使用简单,代码量少,功能强大。
安装方式:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.18</version>
</dependency>
现在,让我们一起来看看如何使用Hutool的StrUtil来解决一些常见的字符串操作吧!
1. 字符串操作:可以快速进行字符串的判断、转换、拼接、替换、截取等操作。
// 判断字符串是否为空 StrUtil.isBlank(""); // true // 字符串转数字 NumberUtil.parseInt("123"); // 123 // 去除字符串空格 StrUtil.trim(" abc "); // "abc" // 字符串拼接 StrUtil.join(",", "a", "b", "c"); // "a,b,c" // 字符串替换 StrUtil.replace("hello, world", "world", "Hutool"); // "hello, Hutool" // 字符串截取 StrUtil.sub("hello, world", 0, 5); // "hello"
2. 日期时间操作:可以方便地进行日期时间的转换、格式化、计算、比较等操作。
// 获取当前日期时间 DateUtil.date(); // 2021-09-15 16:36:31 // 日期时间格式化 DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"); // "2021-09-15 16:36:31" // 日期时间计算 DateUtil.offset(new Date(), DateField.MONTH, 1); // 2021-10-15 16:36:31 // 日期时间转换 DateUtil.parse("2021-09-15", "yyyy-MM-dd"); // 2021-09-15 00:00:00 // 日期时间比较 DateUtil.compare(new Date(), DateUtil.parse("2022-01-01", "yyyy-MM-dd")); // -1
3. 加密解密操作:可以进行MD5、SHA、AES、DES等加密解密操作,保护数据的安全性。
//5加密 SecureUtil.md5("hello"): // 5d41402abc4b2a76b9719d911017c592 // SHA1加密 SecureUtil.sha1("hello"): // aaf4c61ddcc5e8a2dabede0f3b482ed9aea9434d AES加密解密 String key ="1234567890abedef" String str = "hello" String encryptStr = AesUtil.encrypt(str, key): // 26d4a4a3b6d771c33b9a4d66f93c2ec String decryptStr = AesUtil.decrypt(encryptStr, key); // hello // DES加密解密 String key = "12345678" String str = "hello" String encryptStr = DesUtil.encrypt(str, key); // GtIvzFpQ2tI= String decryptStr = DesUtil.decrypt(encryptStr, key): // hello
4. 文件IO操作:可以进行文件的读取、写入、复制、移动、删除等操作。
// 文件读取 String str = FileUtil.readUtf8String(new File("test.txt")); // "hello, world" // 文件写入 FileUtil.writeUtf8String("hello, world", new File("test.txt")); // 文件复制 FileUtil.copy(new File("src.txt"), new File("dest.txt"), true); // 文件移动 FileUtil.move(new File("src.txt"), new File("dest.txt"), true); // 文件删除 FileUtil.del(new File("test.txt"));
5. 网络操作:可以进行HTTP请求、FTP文件上传下载、邮件发送等网络相关操作。
// 发送HTTP GET请求 String result = HttpUtil.get("http://www.baidu.com"); // 发送HTTP POST请求 Map<String, Object> paramMap = new HashMap<>(); paramMap.put("username", "admin"); paramMap.put("password", "123456"); String result = HttpUtil.post("http://www.example.com/login", paramMap); // 上传文件到FTP服务器 String host = "ftp.example.com"; int port = 21; String username = "username"; String password = "password"; String path = "/upload"; String fileName = "test.txt"; File file = new File("test.txt"); FtpUtil.upload(host, port, username, password, path, fileName, file); // 发送邮件 String to = "example@example.com"; String subject = "测试邮件"; String content = "这是一封测试邮件"; MailUtil.send(to, subject, content, false);
6. Bean操作:可以快速对JavaBean进行赋值、拷贝、转换等操作。
// 对象属性拷贝 User user1 = new User("Tom", 18); User user2 = new User(); BeanUtil.copyProperties(user1, user2); // 获取对象的属性值 User user = new User("Tom", 18); String name = BeanUtil.getProperty(user, "name"); // "Tom" // 设置对象的属性值 User user = new User(); BeanUtil.setProperty(user, "name", "Tom"); // 对象序列化 User user = new User("Tom", 18); byte[] bytes = SerializeUtil.serialize(user); // 对象反序列化 User user = SerializeUtil.deserialize(bytes);
7. 集合操作:可以进行集合的排序、过滤、查找、转换等操作。
// 集合排序 List<Integer> list = Arrays.asList(3, 1, 5, 2, 4); CollUtil.sort(list); // [1, 2, 3, 4, 5] // 集合过滤 List<Integer> list = Arrays.asList(3, 1, 5, 2, 4); List<Integer> filteredList = CollUtil.filter(list, (Filter<Integer>) i -> i % 2 == 0); // [2, 4] // 集合查找 List<Integer> list = Arrays.asList(3, 1, 5, 2, 4); int index = CollUtil.indexOf(list, 5); // 2 // 集合转换 List<Integer> list = Arrays.asList(1, 2, 3); String str = CollUtil.join(list, ","); // "1,2,3"
8. 其他常用操作:包括随机数生成、身份证号码验证、二维码生成等等。
// 生成随机数 int random = RandomUtil.randomInt(1, 10); // 验证身份证号码 boolean isValid = IdcardUtil.isValidCard("11010119900307607X"); // 生成二维码 QrCodeUtil.generate("http://www.example.com", 300, 300, new File("qrcode.png"));
以上是Hutool常用的一些用法案例及案例效果,Hutool提供的功能非常丰富,可以帮助Java开发者快速开发高质量的应用程序。
总结
无论是日常开发还是处理复杂的字符串操作,Hutool的StrUtil工具类都是你的得力助手。
它提供了一系列强大而简洁的方法,让字符串处理变得轻松有趣。
如果你想要深入了解Hutool,并掌握更多实用的功能和技巧,可以访问官网。
官网:https://www.hutool.cn/
写在最后 (私活源码)
还给大家分享一套基于Springboot+Vue的酒店管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取)
一、系统运行图(管理端和用户端)
1、管理登陆
2、房间管理
3、订单管理
4、用户登陆
5、房间预定
二、系统搭建视频教程和源码
源码免费领取方式
扫码关注本号,后台回复 酒店
扫码关注本号,后台回复 酒店
持续关注本号,分享更多项目源码