Hutool Java工具类库-StrUtil

 一、依赖:

<!--Hutool Java工具包-->
    <dependency>
       <groupId>cn.hutool</groupId>
       <artifactId>hutool-all</artifactId>
       <version>5.4.5</version>
 </dependency>

二、常用方法:

方法名参数返回值作用备注
isEmptyIfStr(Object obj)obj:对象boolean 如果对象是字符串是否为空串,空的定义如下:
null
空字符串:""

该方法与isBlankIfStr(Object)的区别是:

该方法不校验空白字符。

isBlankIfStr(Object obj)obj:对象boolean 如果对象是字符串是否为空白,空白的定义如下:
null
空字符串:""
空格、全角空格、制表符、换行符,等不可见字符

该方法与 isEmptyIfStr(Object) 的区别是:

该方法会校验空白字符,且性能相对于 isEmptyIfStr(Object) 略慢。

trim(String[] strs)strs:字符串数组
void
给定字符串数组全部做去首尾空格
utf8Str(Object obj)obj:对象String将对象转为字符串
 1、Byte数组和ByteBuffer会被转换为对应字符串的数组
 2、对象数组会调用Arrays.toString方法
str(Object obj, String charsetName)obj: 对象
charsetName: 字符集
String

将对象转为字符串
 1、Byte数组和ByteBuffer会被转换为对应字符串的数组
 2、对象数组会调用Arrays.toString方法

已过时。 请使用 str(Object, Charset)
str(Object obj, Charset charset)obj:对象
charset:字符集
String

将对象转为字符串

1、Byte数组和ByteBuffer会被转换为对应字符串的数组

2、对象数组会调用Arrays.toString方法

str(byte[] bytes,String charset)bytes:byte数组
charset:字符集
String

将byte数组转为字符串

str(byte[] data, Charset charset)bytes:byte数组
charset:字符集,如果此字段为空,则解码的结果取决于平台
String解码字节码
str(ByteBuffer data, String charset)data:数据
charset:字符集,如果为空使用当前系统字符集
String将编码的byteBuffer数据转换为字符串
str(ByteBuffer data, Charset charset)data:数据
charset:字符集,如果为空使用当前系统字符集
 String将编码的byteBuffer数据转换为字符串
toString(Object obj)obj:对象String调用对象的toString方法,null会返回“null”
toStringOrNull(Object obj)obj:对象String调用对象的toString方法,null会返回null
builder()StringBuilder创建StringBuilder对象
builder(int capacity)capacity: 初始大小StringBuilder创建StringBuilder对象
strBuilder()StrBuilder创建StrBuilder对象
strBuilder(int capacity)capacity: 初始大小StrBuilderStrBuilder对象
getReader(CharSequence str)str:字符串编码格式StringReader获得StringReader
getWriter()StringWriter获得StringWriter
reverse(String str)str:被反转的字符串String反转字符串
例如:abcd =》dcba
fillBefore(String str, char filledChar, int len)str:被填充的字符串
filledChar:填充的字符
len:填充长度
String将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串。
字符填充于字符串前
fillAfter(String str, char filledChar, int len)str:被填充的字符串
filledChar:填充的字符
len:填充长度
String将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串。
字符填充于字符串后
fill(String str, char filledChar, int len, boolean isPre)

str:被填充的字符串
filledChar:填充的字符
len:填充长度

isPre:是否填充在前

String将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串
similar(String str1, String str2)str1: 字符串1
str2: 字符串2
double
计算两个字符串的相似度
 similar(String str1, String str2, int scale)

str1: 字符串1
str2: 字符串2

scale:最多保留小数位数

String计算两个字符串的相似度百分比
uuid()String生成随机UUID
format(CharSequence template, Map<?,?> map)template: 文本模板,被替换的部分用 {key} 表示
map: 参数值对
String格式化文本,使用 {varName} 占位
map = {a: "aValue", b: "bValue"} format("{a} and {b}", map) ---=》 aValue and bValue
format(CharSequence template, Map<?,?> map, boolean ignoreNull)template: 文本模板,被替换的部分用 {key} 表示
map: 参数值对
ignoreNull: 是否忽略 null 值,忽略则 null 值对应的变量不被替换,否则替换为""
String格式化文本,使用 {varName} 占位
map = {a: "aValue", b: "bValue"} format("{a} and {b}", map) ---=》 aValue and bValue
truncateUtf8(String str, int maxBytes)str: java字符串
maxBytes: 最大字节长度
String截断字符串,使用其按照UTF-8编码为字节后不超过maxBytes长度。截断后自动追加省略号(...) 用于存储数据库varchar且编码为UTF-8的字段
truncateByByteLength(String str, Charset charset, int maxBytes, int factor, boolean appendDots)str: 原始字符串
charset: 指定编码
maxBytes: 最大字节数
factor: 速算因子,取该编码下单个字符的最大可能字节数
appendDots: 截断后是否追加省略号(...)
String截断字符串,使用其按照指定编码为字节后不超过maxBytes长度
此方法用于截取总bytes数不超过指定长度,如果字符出没有超出原样输出,如果超出了,则截取掉超出部分,并可选添加..., 但是添加“...”后总长度也不超过限制长度。

similar示例:

System.out.println(StrUtil.similar("11256x","9x",4));//16.6667%

fillBefore示例:

1 System.out.println(StrUtil.fillBefore("abcd",'-',6));//--abcd
System.out.println(StrUtil.fillBefore("abcd",'-',3));//abcd

isEmptyIfStr示例:

StrUtil.isEmptyIfStr(null) // true
StrUtil.isEmptyIfStr("") // true
StrUtil.isEmptyIfStr(" \t\n") // false
StrUtil.isEmptyIfStr("abc") // false

 isBlankIfStr示例:

StrUtil.isBlankIfStr(null) // true
StrUtil.isBlankIfStr("") // true
StrUtil.isBlankIfStr(" \t\n") // true
StrUtil.isBlankIfStr("abc") // false

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值