Hutool Java工具类库-StrUtil

 一、依赖:


    
       cn.hutool
       hutool-all
       5.4.5
 

二、常用方法:

方法名 参数 返回值 作用 备注
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: 初始大小 StrBuilder StrBuilder对象
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

你可能感兴趣的:(Hutool,java)