首页 > 其他分享 >Hutool工具包

Hutool工具包

时间:2023-09-23 17:57:34浏览次数:36  
标签:静态方法 String System 工具包 Hutool println 字符串 out

Hutool工具包

1.String判断空

* StrUtil.isEmpty 判断是否为空(包含null和空字符串) 
 
* StrUtil.isBlank 判断是否为空白(包含null、空字符串和空白字符) 
 
* StrUtil.isNotEmpty判断不为空 
 
* StrUtil.isNotBlank判断不为空白
 
* StrUtil.removePrefix 字符串去除指定字符串开始的字符 
 
* StrUtil.removeSuffix 字符串去除指定字符串结束的字符
 

StrUtil.isEmpty:

判断字符串是否为空(包含null和空字符串):

String str = ""; // 定义字符串
boolean isEmpty = StrUtil.isEmpty(str); // 调用静态方法判断字符串是否为空

System.out.println(isEmpty); // 输出结果为true,字符串为空

StrUtil.isBlank

判断字符串是否为空白(包含null、空字符串和空白字符):

String str = "  "; // 定义字符串
boolean isBlank = StrUtil.isBlank(str); // 调用静态方法判断字符串是否为空白

System.out.println(isBlank); // 输出结果为true,字符串为空白

StrUtil.isNotEmpty

判断字符串是否不为空:

String str = "Hello, World!"; // 定义字符串
boolean isNotEmpty = StrUtil.isNotEmpty(str); // 调用静态方法判断字符串是否不为空

System.out.println(isNotEmpty); // 输出结果为true,字符串不为空

StrUtil.isNotBlank

判断字符串是否不为空白:

String str = " Hello "; // 定义字符串
boolean isNotBlank = StrUtil.isNotBlank(str); // 调用静态方法判断字符串是否不为空白

System.out.println(isNotBlank); // 输出结果为true,字符串不为空白

StrUtil.removePrefix

去除字符串的指定前缀:

String str = "Hello, World!"; // 定义字符串
String prefix = "Hello, "; // 待去除的前缀
String result = StrUtil.removePrefix(str, prefix); // 调用静态方法去除指定前缀

System.out.println(result); // 输出结果为"World!"

StrUtil.removeSuffix

去除字符串的指定后缀:

String str = "Hello, World!"; // 定义字符串
String suffix = ", World!"; // 待去除的后缀
String result = StrUtil.removeSuffix(str, suffix); // 调用静态方法去除指定后缀

System.out.println(result); // 输出结果为"Hello"

注意要导入正确的类,并根据实际需求传递参数和处理返回值。

2.字符串与数组的分割合并

* StrUtil.splitTrim 字符串根据分割字符转为数组 
 
* StrUtil.join 将数组用分隔字符串合并为字符串

StrUtil.splitTrim

字符串根据分割字符转为数组并去除空格:

String str = "apple, banana, orange"; // 定义字符串
char delimiter = ','; // 分割字符
String[] arr = StrUtil.splitTrim(str, delimiter); // 调用静态方法进行分割和去除空格

for (String item : arr) {
  System.out.println(item); // 输出结果为"apple", "banana", "orange"
}

StrUtil.join

将数组用分隔字符串合并为字符串:

String[] arr = {"apple", "banana", "orange"}; // 定义字符串数组
String delimiter = ", "; // 分隔字符串
String result = StrUtil.join(arr, delimiter); // 调用静态方法进行合并

System.out.println(result); // 输出结果为"apple, banana, orange"

3.日期格式化与解析

* DateUtil.format日期格式化 
 
* DateUtil.parse日期解析

DateUtil.format

日期格式化:

import cn.hutool.core.date.DateUtil;

Date date = new Date(); // 获取当前日期
String pattern = "yyyy-MM-dd HH:mm:ss"; // 定义日期格式
String formattedDate = DateUtil.format(date, pattern); // 调用静态方法进行日期格式化

System.out.println(formattedDate); // 输出结果为"2022-01-01 12:34:56"

DateUtil.parse

日期解析:

import cn.hutool.core.date.DateUtil;

String dateStr = "2022-01-01 12:34:56"; // 定义日期字符串
String pattern = "yyyy-MM-dd HH:mm:ss"; // 定义日期格式
Date parsedDate = DateUtil.parse(dateStr, pattern); // 调用静态方法进行日期解析

System.out.println(parsedDate); // 输出结果为"Sat Jan 01 12:34:56 CST 2022"

4.集合操作

* CollUtil.isEmpty 判断为空(null或空集)
* CollUtil.distinct 集合去重
* CollUtil. removeNull 集合去空
* CollUtil.union 并集
* CollUtil.disjunction 交集

CollUtil.isEmpty

判断集合是否为空(null或空集):

import cn.hutool.core.collection.CollUtil;

List<String> list = new ArrayList<>(); // 定义空集合
boolean isEmpty = CollUtil.isEmpty(list); // 调用静态方法判断集合是否为空

System.out.println(isEmpty); // 输出结果为true,集合为空

CollUtil.distinct

对集合进行去重:

import cn.hutool.core.collection.CollUtil;

List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("apple");
List<String> distinctList = CollUtil.distinct(list); // 调用静态方法对集合进行去重

System.out.println(distinctList); // 输出结果为["apple", "banana"]

CollUtil. removeNull

去除集合中的空元素:

import cn.hutool.core.collection.CollUtil;

List<String> list = new ArrayList<>();
list.add("apple");
list.add("");
list.add("banana");
List<String> nonNullList = CollUtil.removeNull(list); // 调用静态方法去除集合中的空元素

System.out.println(nonNullList); // 输出结果为["apple", "banana"]

CollUtil.union

求集合的并集:

import cn.hutool.core.collection.CollUtil;

List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("orange");
Collection<String> union = CollUtil.union(list1, list2); // 调用静态方法求集合的并集

System.out.println(union); // 输出结果为["apple", "banana", "orange"]

CollUtil.disjunction

求集合的交集:

import cn.hutool.core.collection.CollUtil;

List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("orange");
Collection<String> disjunction = CollUtil.disjunction(list1, list2); // 调用静态方法求集合的交集

System.out.println(disjunction); // 输出结果为["banana"]

5.万能转换

* Convert.toInt 转为整数
* Convert.toLong 转为长整数

Convert.toInt

转换为整数:

import cn.hutool.core.convert.Convert;

String str = "123"; // 定义字符串
int intValue = Convert.toInt(str); // 调用静态方法将字符串转换为整数

System.out.println(intValue); // 输出结果为123

Convert.toLong

转换为长整数:

import cn.hutool.core.convert.Convert;

String str = "123456789"; // 定义字符串
long longValue = Convert.toLong(str); // 调用静态方法将字符串转换为长整数

System.out.println(longValue); // 输出结果为123456789

6.摘要计算与Base64

* SecureUtil.md5  计算Md5摘要
* SecureUtil.sha1  计算SHA1摘要  
* Base64.encode  Base64字符串加密
* Base64.decodeStr Base64字符串解密

SecureUtil.md5

计算Md5摘要:

import cn.hutool.crypto.SecureUtil;

String str = "Hello, World!"; // 定义字符串
String md5Digest = SecureUtil.md5(str); // 调用静态方法计算Md5摘要

System.out.println(md5Digest); // 输出结果为"65a8e27d8879283831b664bd8b7f0ad4"

SecureUtil.sha1

计算SHA1摘要:

import cn.hutool.crypto.SecureUtil;

String str = "Hello, World!"; // 定义字符串
String sha1Digest = SecureUtil.sha1(str); // 调用静态方法计算SHA1摘要

System.out.println(sha1Digest); // 输出结果为"0a4d55a8d778e5022fab701977c5d840bbc486d0"

Base64.encode

Base64字符串加密:

import cn.hutool.core.codec.Base64;

String str = "Hello, World!"; // 定义字符串
String base64Encoded = Base64.encode(str); // 调用静态方法对字符串进行Base64加密

System.out.println(base64Encoded); // 输出结果为"SGVsbG8sIFdvcmxkIQ=="

Base64.decodeStr

Base64字符串解密:

import cn.hutool.core.codec.Base64;

String base64Str = "SGVsbG8sIFdvcmxkIQ=="; // 定义Base64字符串
String decodedStr = Base64.decodeStr(base64Str); // 调用静态方法对Base64字符串进行解密

System.out.println(decodedStr); // 输出结果为"Hello, World!"

7.JSON操作

* JSONUtil.toBean  JSON解析为对象
* JSONUtil.parseObj JSON解析为JSONObject
* JSONUtil.formatJsonStr JSON格式化

JSONUtil.toBean

JSON解析为对象:

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;

String jsonStr = "{\"name\":\"John\", \"age\":30}"; // 定义JSON字符串
User user = JSONUtil.toBean(jsonStr, User.class); // 调用静态方法将JSON解析为对象

System.out.println(user.getName()); // 输出结果为"John"
System.out.println(user.getAge()); // 输出结果为30

JSONUtil.parseObj

JSON解析为JSONObject:

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;

String jsonStr = "{\"name\":\"John\", \"age\":30}"; // 定义JSON字符串
JSONObject jsonObj = JSONUtil.parseObj(jsonStr); // 调用静态方法将JSON解析为JSONObject

String name = jsonObj.getStr("name"); // 获取指定字段的值
int age = jsonObj.getInt("age");

System.out.println(name); // 输出结果为"John"
System.out.println(age); // 输出结果为30

JSONUtil.formatJsonStr

JSON格式化:

import cn.hutool.json.JSONUtil;

String jsonStr = "{\"name\":\"John\", \"age\":30}"; // 定义JSON字符串
String formattedJsonStr = JSONUtil.formatJsonStr(jsonStr); // 调用静态方法对JSON进行格式化

System.out.println(formattedJsonStr); 
// 输出结果为:
// {
//    "name": "John",
//    "age": 30
// }

8.文件读写

* FileUtil.readBytes  按字节读
* FileUtil.readLines 按行读
* FileUtil.readString 全部读
* FileUtil.writeBytes 按字节写
* FileUtil.writeLines 按行写
* FileUtil.writeString 全部写

FileUtil.readBytes 按字节读

按字节读取文件:

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;

byte[] bytes = FileUtil.readBytes("path/to/file.txt"); // 调用静态方法按字节读取文件
String content = IoUtil.readUtf8(new ByteArrayInputStream(bytes)); // 将字节数组转为字符串

System.out.println(content); // 输出文件内容

FileUtil.readLines 按行读

按行读取文件:

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.LineHandler;

FileUtil.readLines("path/to/file.txt", new LineHandler() {
    @Override
    public void handle(String line) {
        System.out.println(line); // 输出文件的每一行内容
    }
});

FileUtil.readString 全部读

全部读取文件内容:

import cn.hutool.core.io.FileUtil;

String content = FileUtil.readString("path/to/file.txt"); // 调用静态方法读取文件内容

System.out.println(content); // 输出文件内容

FileUtil.writeBytes 按字节写

按字节写入文件:

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;

byte[] bytes = "Hello, World!".getBytes(); // 定义字节数组
FileUtil.writeBytes(bytes, "path/to/file.txt"); // 调用静态方法按字节写入文件

FileUtil.writeLines 按行写

按行写入文件:

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;

List<String> lines = new ArrayList<>();
lines.add("Hello");
lines.add("World");
FileUtil.writeLines(lines, "path/to/file.txt", "UTF-8"); // 调用静态方法按行写入文件

FileUtil.writeString 全部写

全部写入文件内容:

import cn.hutool.core.io.FileUtil;

String content = "Hello, World!"; // 定义字符串
FileUtil.writeString(content, "path/to/file.txt", "UTF-8"); // 调用静态方法全部写入文件内容

标签:静态方法,String,System,工具包,Hutool,println,字符串,out
From: https://www.cnblogs.com/aiyi-onepiece/p/17724809.html

相关文章

  • 使用hutool返回权重值
    场景按照权重给用户分组;比如按照权重20,30,40,10给用户分组为A,B,C,D实现参考hutool的类:cn.hutool.core.lang.WeightRandom权重随机算法实现平时,经常会遇到权重随机算法,从不同权重的N个元素中随机选择一个,并使得总体选择结果是按照权重分布的。如广告投放、负载均衡等。如......
  • hutool依赖,复制list<a>的相同属性给list<b>,判断传入值是否为空等
      依赖传入<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.11</version></dependency>   以下是将list<User>与list<UserVO>相同属性名的属性值,从list<User>......
  • 小而全的Java工具类库 Hutool (扩展篇)
    配置文件(Hutool-setting)对于Properties的广泛使用使我也无能为力,有时候遇到Properties文件又想方便的读写也不容易,于是对Properties做了简单的封装,提供了方便的构造方法(与Setting一致),并提供了与Setting一致的getXXX方法来扩展Properties类,Props类继承自Properties,所以可以兼容Pr......
  • FuzzyWuzzy:模糊字符串匹配工具包
    在日常开发工作中,经常会遇到这样的一个问题:要对数据中的某个字段进行匹配,但这个字段有可能会有微小的差异。比如同样是招聘岗位的数据,里面省份一栏有的写“广西”,有的写“广西壮族自治区”,甚至还有写“广西省”……为此不得不增加许多代码来处理这些情况。今天跟大家分享FuzzyWuz......
  • Codeium:免费的AI驱动代码加速工具包
    什么是Codeium?Codeium是现代编码超能力,一个基于尖端人工智能技术构建的免费代码加速工具包。目前,Codeium在70多种语言中提供自动完成、聊天和搜索功能,速度快且建议质量先进。现代编码工作流中有许多令人厌烦、乏味或沮丧的部分,从重复使用样板代码到在StackOverflow上搜索。最......
  • Hutool,一个超好用的 Java 工具类库
    一、简介Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式......
  • 自然语言工具包(Natural Language Toolkit,简称NLTK) 简介
    自然语言工具包(NaturalLanguageToolkit,简称NLTK)是一个广泛使用的Python库,用于处理和分析自然语言文本。它提供了各种工具和数据集,用于文本预处理、语言模型、词性标注、句法分析、语义分析、情感分析、文本分类等自然语言处理任务。以下是NLTK的一些主要功能和特点:1.丰富的语......
  • mall :hutool项目源码解析
    目录一、mall开源项目1.1来源1.2项目转移1.3项目克隆二、Hutool工具类库2.1Hutool简介三、源码解析3.1集成与配置3.1.1导入依赖3.1.2添加配置3.2核心工具类3.2.1AnnotationUtil使用:注解工具类3.2.2BeanUtil使用:JavaBean的工具类3.2.3CaptchaUtil使用:图形验证码3.2.4C......
  • 一次搞定:借助Hutool封装代码快速解决webservice调用烦恼
    前言相信很多同行哪怕学了许多主流技术,但工作上依然免不了和传统企业打交道,而这样的企业往往还在用webservice做接口交互。本文是作者近两年和医疗行业的厂家打交道研究出来的一点调用webservice接口的心得,代码在生产环境也用了挺久了,专门捞出来作为一期干货分享给大家。......
  • springboot利用hutool快速生成验证码
    生成验证码publicclassVerificationCodeUtil{publicstaticVerificationCodegetVerification(){LineCaptchacaptcha=CaptchaUtil.createLineCaptcha(70,35,4,30);Stringkey=IdUtil.get32Uuid();VerificationCodeverificationCode......