全网最全:Java字符串处理

全网最全:Java字符串处理

Java字符串处理,包含了多个静态方法,用于执行不同类型的字符串操作。

开箱即用

空白和空字符串检查:

字符串处理:

字符串创建:

字符串填充:

字符串转换:

字符串相似度:

UUID生成:

文本格式化:

字符串截断:

具体代码:(代码参考字符串处理类)

// ------------------------------------------------------------------------ Blank
/**
 * 

如果对象是字符串是否为空白,空白的定义如下:

*
    *
  1. {@code null}
  2. *
  3. 空字符串:{@code ""}
  4. *
  5. 空格、全角空格、制表符、换行符,等不可见字符
  6. *
* *

例:

*
    *
  • {@code StrUtil.isBlankIfStr(null) // true}
  • *
  • {@code StrUtil.isBlankIfStr("") // true}
  • *
  • {@code StrUtil.isBlankIfStr(" tn") // true}
  • *
  • {@code StrUtil.isBlankIfStr("abc") // false}
  • *
* *

注意:该方法与 {@link #isEmptyIfStr(Object)} 的区别是: * 该方法会校验空白字符,且性能相对于 {@link #isEmptyIfStr(Object)} 略慢。

* * @param obj 对象 * @return 如果为字符串是否为空串 * @see StrUtil#isBlank(CharSequence) * @since 3.3.0 */ public static boolean isBlankIfStr(Object obj) { if (null == obj) { return true; } else if (obj instanceof CharSequence) { return isBlank((CharSequence) obj); } return false; } // ------------------------------------------------------------------------ Empty /** *

如果对象是字符串是否为空串,空的定义如下:


*
    *
  1. {@code null}
  2. *
  3. 空字符串:{@code ""}
  4. *
* *

例:

*
    *
  • {@code StrUtil.isEmptyIfStr(null) // true}
  • *
  • {@code StrUtil.isEmptyIfStr("") // true}
  • *
  • {@code StrUtil.isEmptyIfStr(" tn") // false}
  • *
  • {@code StrUtil.isEmptyIfStr("abc") // false}
  • *
* *

注意:该方法与 {@link #isBlankIfStr(Object)} 的区别是:该方法不校验空白字符。

* * @param obj 对象 * @return 如果为字符串是否为空串 * @since 3.3.0 */ public static boolean isEmptyIfStr(Object obj) { if (null == obj) { return true; } else if (obj instanceof CharSequence) { return 0 == ((CharSequence) obj).length(); } return false; } // ------------------------------------------------------------------------ Trim /** * 给定字符串数组全部做去首尾空格 * * @param strs 字符串数组 */ public static void trim(String[] strs) { if (null == strs) { return; } String str; for (int i = 0; i < strs.length; i++) { str = strs[i]; if (null != str) { strs[i] = trim(str); } } } /** * 将对象转为字符串
* *
 * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组
 * 2、对象数组会调用Arrays.toString方法
 * 

* * @param obj 对象 * @ 字符串 */ ( obj) { str(obj, .);}/** * 将对象转为字符串 * *

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

* * @param obj对象 * @param 字符集 * @ 字符串 * @ 请使用 {@link #str(, )} */@ str( obj, ) { str(obj, .());}/** * 将对象转为字符串 *

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

* * @param obj对象 * @param 字符集 * @ 字符串 */ str( obj, ) {if (null == obj) { null;}if (obj ) { () obj;} else if (obj byte

) { str((byte

) obj, );} else if (obj Byte

) { str((Byte

) obj, );} else if (obj ) { str(() obj, );} else if (.(obj)) { .(obj);} obj.();}/** * 将byte数组转为字符串 * * @param bytes byte数组 * @param 字符集 * @ 字符串 */ str(byte

bytes, ) { str(bytes, .());}/** * 解码字节码 * * @param data 字符串 * @param 字符集全网最全:Java字符串处理,如果此字段为空java随机生成字符串,则解码的结果取决于平台 * @ 解码后的字符串 */ str(byte

data, ) {if (data == null) { null;}if (null == ) { new (data);} new (data, );}/** * 将Byte数组转为字符串 * * @param bytes byte数组 * @param 字符集 * @ 字符串 */ str(Byte

bytes, ) { str(bytes, .());}/** * 解码字节码 * * @param data 字符串 * @param 字符集,如果此字段为空,则解码的结果取决于平台 * @ 解码后的字符串 */ str(Byte

data, ) {if (data == null) { null;}byte

bytes = new byte

data.

;Byte ;for (int i = 0; i < data.; i++) { = data

;bytes

= (null == ) ? -1 : ;} str(bytes, );}/** * 将编码的数据转换为字符串 * * @param data 数据 * @param 字符集,如果为空使用当前系统字符集 * @ 字符串 */ str( data, ) {if (data == null) { null;} str(data, .());}/** * 将编码的数据转换为字符串 * * @param data 数据 * @param 字符集java随机生成字符串,如果为空使用当前系统字符集 * @ 字符串 */ str( data, ) {if (null == ) { = .();} .(data).();}/** * 调用对象的方法,null会返回“null” * * @param obj 对象 * @ 字符串 * @see #() * @since 4.1.3 */ ( obj) { .(obj);}/** * 调用对象的方法,null会返回{@code null} * * @param obj 对象 * @ 字符串 or {@code null} * @since 5.7.17 */ ( obj) { null == obj ? null : obj.();}/** * 创建对象 * * @ 对象 */ () { new ();}/** * 创建对象 * * @ 对象 * @since 4.0.1 */ () { .();}/** * 创建对象 * * @param 初始大小 * @ 对象 */ (int ) { new ();}/** * 创建对象 * * @param 初始大小 * @ 对象 * @since 4.0.1 */ (int ) { .();}/** * 获得 * * @param str 字符串 * @ */ ( str) {if (null == str) { null;} new (str.());}/** * 获得 * * @ */ () { new ();}/** * 反转字符串

* 例如:abcd =》dcba * * @param str 被反转的字符串 * @ 反转后的字符串 * @since 3.0.9 */ ( str) { new (.(str.()));}// ------------------------------------------------------------------------ fill/** * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串

* 字符填充于字符串前 * * @param str被填充的字符串 * @param 填充的字符 * @param len填充长度 * @ 填充后的字符串 * @since 3.1.2 */ ( str, char , int len) { fill(str, , len, true);}/** * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串

* 字符填充于字符串后 * * @param str被填充的字符串 * @param 填充的字符 * @param len填充长度 * @ 填充后的字符串 * @since 3.1.2 */ ( str, char , int len) { fill(str, , len, false);}/** * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串 * * @param str被填充的字符串 * @param 填充的字符 * @param len填充长度 * @param isPre是否填充在前 * @ 填充后的字符串 * @since 3.1.2 */ fill( str, char , int len, isPre) {final int = str.();if ( > len) { str;} = .(, len - ); isPre ? .(str) : str.();}/** * 计算两个字符串的相似度 * * @param str1 字符串1 * @param str2 字符串2 * @ 相似度 * @since 3.2.3 */ ( str1, str2) { .(str1, str2);}/** * 计算两个字符串的相似度百分比 * * @param str1 字符串1 * @param str2 字符串2 * @param scale 相似度 * @ 相似度百分比 * @since 3.2.3 */ ( str1, str2, int scale) { .(str1, str2, scale);}/** * 生成随机UUID * * @ UUID字符串 * @see #() * @since 4.0.10 */ uuid() { .();}/** * 格式化文本,使用 {} 占位

* map = {a: "", b: ""} ("{a} and {b}", map) ---=》 and * * @param 文本模板,被替换的部分用 {key} 表示 * @param map参数值对 * @ 格式化后的文本 */ ( , Map map) { (, map, true);}/** * 格式化文本,使用 {} 占位

* map = {a: "", b: ""} ("{a} and {b}", map) ---=》 and * * @param 文本模板,被替换的部分用 {key} 表示 * @param map参数值对 * @param 是否忽略 {@code null} 值java随机生成字符串,忽略则 {@code null} 值对应的变量不被替换,否则替换为"" * @ 格式化后的文本 * @since 5.4.3 */ ( , Map map, ) { .(, map, );}/** * 截断字符串,使用其按照UTF-8编码为字节后不超过长度。截断后自动追加省略号(...) * 用于存储数据库且编码为UTF-8的字段 * * @param 字符串 * @param 最大字节长度 * @ 截断后的字符 */ ( str, int ) { = .UTF_8;//UTF-8编码单个字符最大长度 (str, , , 4, true);}/** * 截断字符串,使用其按照指定编码为字节后不超过长度

* 此方法用于截取总bytes数不超过指定长度,如果字符出没有超出原样输出,如果超出了,则截取掉超出部分,并可选添加...,* 但是添加“...”后总长度也不超过限制长度。 * * @param str原始字符串 * @param 指定编码 * @param 最大字节数 * @param 速算因子全网最全:Java字符串处理,取该编码下单个字符的最大可能字节数 * @param 截断后是否追加省略号(...) * @ 截断后的字符串 */ ( str, , int , int , ) {//字符数*速算因子

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » 全网最全:Java字符串处理

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们