StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。

除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.xxx()

下面分别对一些常用方法做简要介绍:

StringUtils类 在 org.apache.commons.lang.StringUtils包下

String isEmpty(String str) 和 isNotEmpty(String str)

System.out.println(StringUtils.isEmpty(null));             // true

System.out.println(StringUtils.isEmpty(""));               // true

System.out.println(StringUtils.isEmpty("  "));             // false  注意:这里的isEmpty并没有做空格处理

System.out.println(StringUtils.isEmpty(" \t \n \f \r "));  // false

System.out.println(StringUtils.isEmpty(" \b "));           // false

System.out.println(StringUtils.isEmpty("X-rapido"));       // false

System.out.println(StringUtils.isEmpty(" X "));            // false

System.out.println(StringUtils.isNotEmpty(null));              // false

System.out.println(StringUtils.isNotEmpty(""));                // false

System.out.println(StringUtils.isNotEmpty("  "));              // true  注意:这里的isNotEmpty并没有做空格处理

System.out.println(StringUtils.isNotEmpty(" \t \n \f \r "));   // true

System.out.println(StringUtils.isNotEmpty(" \b "));            // true

System.out.println(StringUtils.isNotEmpty("X-rapido"));        // true

System.out.println(StringUtils.isNotEmpty(" X "));             // true

String isBlank(String str) 和 isNotBlank(String str)

包含去空格

System.out.println(StringUtils.isBlank(null));            // true

System.out.println(StringUtils.isBlank(""));              // true

System.out.println(StringUtils.isBlank("  "));            // true

System.out.println(StringUtils.isBlank(" \t \n \f \r ")); // true

System.out.println(StringUtils.isBlank(" \b "));          // false

System.out.println(StringUtils.isBlank("X-rapido"));      // false

System.out.println(StringUtils.isBlank(" X "));           // false

System.out.println(StringUtils.isNotBlank(null));            // false

System.out.println(StringUtils.isNotBlank(""));              // false

System.out.println(StringUtils.isNotBlank("  "));            // false

System.out.println(StringUtils.isNotBlank(" \t \n \f \r ")); // false

System.out.println(StringUtils.isNotBlank(" \b "));          // true

System.out.println(StringUtils.isNotBlank("X-rapido"));      // true

System.out.println(StringUtils.isNotBlank(" X "));           // true

String trim(String str) 和 trimToNull(String str) 和 trimToEmpty(String str)

System.out.println(StringUtils.trim(null));             // null

System.out.println(StringUtils.trim(""));               // ""

System.out.println(StringUtils.trim("  "));             // ""

System.out.println(StringUtils.trim(" \t \n \f \r "));  // ""

System.out.println(StringUtils.trim(" \b "));           // ""

System.out.println(StringUtils.trim("X-rapido"));       // "X-rapido"

System.out.println(StringUtils.trim(" X "));            // "X"

System.out.println(StringUtils.trimToNull(null));             // null

System.out.println(StringUtils.trimToNull(""));               // null

System.out.println(StringUtils.trimToNull("  "));             // null

System.out.println(StringUtils.trimToNull(" \t \n \f \r "));  // null

System.out.println(StringUtils.trimToNull(" \b "));           // null

System.out.println(StringUtils.trimToNull("X-rapido"));       // "X-rapido"

System.out.println(StringUtils.trimToNull(" X "));            // "X"

System.out.println(StringUtils.trimToEmpty(null));          // ""

System.out.println(StringUtils.trimToEmpty(""));    // ""

System.out.println(StringUtils.trimToEmpty("  "));          // ""

System.out.println(StringUtils.trimToEmpty(" \t \n \f \r "));     // ""

System.out.println(StringUtils.trimToEmpty(" \b "));     // ""

System.out.println(StringUtils.trimToEmpty(" \bsss "));    // sss

System.out.println(StringUtils.trimToEmpty("X-rapido"));   // "X-rapido"

System.out.println(StringUtils.trimToEmpty(" X "));      // "X"

String strip(String str) 和 stripToNull(String str) 和 stripToEmpty(String str)

System.out.println(StringUtils.strip(null));            // null

System.out.println(StringUtils.strip(""));      // ""

System.out.println(StringUtils.strip("  "));            // ""

System.out.println(StringUtils.strip(" \t \n \f \r "));     // ""

System.out.println(StringUtils.strip(" \b "));       // ""

System.out.println(StringUtils.strip(" \bsss "));      // sss

System.out.println(StringUtils.strip("X-rapido"));     // "X-rapido"

System.out.println(StringUtils.strip(" X "));        // "X"

System.out.println(StringUtils.stripToNull(null));            // null

System.out.println(StringUtils.stripToNull(""));      // null

System.out.println(StringUtils.stripToNull("  "));            // null

System.out.println(StringUtils.stripToNull(" \t \n \f \r "));       // null

System.out.println(StringUtils.stripToNull(" \b "));       // ""

System.out.println(StringUtils.stripToNull(" \bsss "));      // sss

System.out.println(StringUtils.stripToNull("X-rapido"));     // "X-rapido"

System.out.println(StringUtils.stripToNull(" X "));        // "X"

System.out.println(StringUtils.stripToEmpty(null));            // ""

System.out.println(StringUtils.stripToEmpty(""));      // ""

System.out.println(StringUtils.stripToEmpty("  "));            // ""

System.out.println(StringUtils.stripToEmpty(" \t \n \f \r "));      // ""

System.out.println(StringUtils.stripToEmpty(" \b "));       // ""

System.out.println(StringUtils.stripToEmpty(" \bsss "));      // sss

System.out.println(StringUtils.stripToEmpty("X-rapido"));     // "X-rapido"

System.out.println(StringUtils.stripToEmpty(" X "));        // "X"

String strip(String str, String stripChars)

去掉 str 两端的在 stripChars 中的字符。如果 str 为 null 或等于"" ,则返回它本身,如果 stripChars 为null 或"" ,则返回 strip(String str) 。

String stripStart(String str, String stripChars)

和11相似,去掉 str 前端的在 stripChars 中的字符。

String stripEnd(String str, String stripChars)

和11相似,去掉 str 末端的在 stripChars 中的字符。

String[] stripAll(String[] strs)

对字符串数组中的每个字符串进行 strip(String str) ,然后返回。  如果 strs 为 null 或 strs 长度为0,则返回 strs 本身。

String[] stripAll(String[] strs, String stripChars)

对字符串数组中的每个字符串进行 strip(String str, String stripChars) ,然后返回。如果 strs 为 null 或 strs 长度为0,则返回 strs 本身

boolean equals(String str1, String str2)

比较两个字符串是否相等,如果两个均为空则也认为相等。

boolean equalsIgnoreCase(String str1, String str2)

比较两个字符串是否相等,不区分大小写,如果两个均为空则也认为相等。

int indexOf(String str, char searchChar)

返回字符 searchChar 在字符串 str 中第一次出现的位置。如果 searchChar 没有在 str 中出现则返回-1,如果 str 为 null 或 "" ,则也返回-1

int indexOf(String str, char searchChar, int startPos)

返回字符 searchChar 从 startPos 开始在字符串 str 中第一次出现的位置。如果从 startPos 开始 searchChar 没有在 str 中出现则返回-1,如果 str 为null 或 "" ,则也返回-1

int indexOf(String str, String searchStr)

返回字符串 searchStr 在字符串 str 中第一次出现的位置。如果 str 为 null 或 searchStr 为 null 则返回-1,如果 searchStr 为 "" ,且 str 为不为null ,则返回0, 如果 searchStr 不在 str 中,则返回-1

int ordinalIndexOf(String str, String searchStr, int ordinal)

返回字符串 searchStr 在字符串 str 中第 ordinal 次出现的位置。如果 str=null 或 searchStr=null 或 ordinal<=0 则返回-1

System.out.println(StringUtils.ordinalIndexOf(null, "a", 1));       // -1

System.out.println(StringUtils.ordinalIndexOf("a", null, 1));       // -1

System.out.println(StringUtils.ordinalIndexOf("", "", 1));       // 0

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "a", 1));  // 0

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "a", 2));  // 1

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "b", 1));  // 2

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "b", 2));  // 5

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "ab", 1)); // 1

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "ab", 2)); // 4

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "bc", 1)); // -1

System.out.println(StringUtils.ordinalIndexOf("aabaabaa", "", 1));   // 0

System.out.println(StringUtils.ordinalIndexOf(" aabaabaa ", "", 2)); // 0

int indexOf(String str, String searchStr, int startPos)

返回字符串 searchStr 从 startPos 开始在字符串 str 中第一次出现的位置。

System.out.println(StringUtils.indexOf(null, "a", 1));        // -1

System.out.println(StringUtils.indexOf("a", null, 1));        // -1

System.out.println(StringUtils.indexOf("", "", 1));        // 0

System.out.println(StringUtils.indexOf("aabaabaa", "a", 1));  // 1

System.out.println(StringUtils.indexOf("aabaabaa", "a", 2));  // 3

System.out.println(StringUtils.indexOf("aabaabaa", "b", 1));  // 2

System.out.println(StringUtils.indexOf("aabaabaa", "b", 2));  // 2

System.out.println(StringUtils.indexOf("aabaabaa", "ab", 1)); // 4

System.out.println(StringUtils.indexOf("aabaabaa", "ab", 2)); // 1

System.out.println(StringUtils.indexOf("aabaabaa", "bc", 1)); // -1

System.out.println(StringUtils.indexOf("aabaabaa", "", 1));   // 1

System.out.println(StringUtils.indexOf(" aabaabaa ", "", 2)); // 2

int lastIndexOf(String str, char searchChar)

基本原理同int indexOf(String str, char searchChar)

int lastIndexOf(String str, char searchChar, int startPos)

基本原理同int indexOf(String str, char searchChar, int startPos)

int lastIndexOf(String str, String searchStr)

基本原理同int indexOf(String str, String searchStr)

int lastIndexOf(String str, String searchStr, int startPos)

基本原理同int indexOf(String str, String searchStr, int startPos)

java utils类_Java中StringUtils工具类的一些用法实例相关推荐

  1. java escape工具类_java开发常用工具类

    在Java中,,工具类定义了一组公共方法.你把你的类继承这些类或者实现这些接口,就可以使用这些类的方法了.下面给大家介绍一下十六种最常用的java开发常用工具类. 一. org.apache.comm ...

  2. java签名软件_Java实现签名工具类

    一 点睛 签名和验证签名常常用于网络安全,在此提供一个工具类. 二 代码 package com.imooc.demo.common.util; import org.apache.commons.c ...

  3. java 静态类 安全_Java静态static工具类线程安全问题研究

    针对静态方法有以下一些前提: 静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自 ...

  4. java时间日期工具类_java日期处理工具类

    java日期处理工具类 import java.text.DecimalFormat; import java.text.ParsePosition; import java.text.SimpleD ...

  5. java时间随机数_java开发代码工具类(时间戳/随机数/日期等)

    简介 java开发代码工具类,提高开发效率,持续更新~ 实践 package com.springboot.sixmonth.common.util; import java.math.BigInte ...

  6. java word生成_JAVA生成WORD工具类

    该方法借助freemarker的JAR包即可. 参考: 所需工具: 步骤: 1.在word中编辑好模版样式,设置好占位符,注意图片最好先黏上去 2.在word中,文件-另存为-XML格式 3.使用工具 ...

  7. java 继承 意义_Java中继承,类的高级概念的知识点

    1.继承含义 在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(inheritance). 2.继承的优点 A.代码的可重用性 B.子类可以扩展父 ...

  8. java导出类_java导出excel工具类

    java导出excel须要使用HSSFWorkbook这个类,须要导入poi-3.6-20091214.jar 工具类调用例如以下: package com.qlwb.business.util; i ...

  9. java中椭圆类_Java中的Graphics2D类基本使用的教程

    Java中的Graphics2D类基本使用的教程 Java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥用更强大的二维图形处理能 ...

最新文章

  1. es6 - 解构赋值
  2. python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
  3. matlab共轭梯度法_优化算法之牛顿法
  4. vSphere 6.5 High Availability New Features – Proactive HA(vSphere 6.5高可用性新功能–主动HA)
  5. Linux,vi编辑器使用手册
  6. redis 安装简介
  7. Linux 基本命令(七)--cat,less,more,head,tail,nl 常用命令
  8. CodeProject.com上微软BizTalk平台技术文章集锦
  9. getch函数的使用与说明
  10. RJ45转COM线序关系
  11. 华为服务器上传文件后怎么通过链接查看,怎么上传图片到服务器查看链接
  12. 山东科技大学计算机篮球,山东科技大学第十七届学生男子篮球赛开幕
  13. passwd: Have exhausted maximum number of retries for servic、ssh用普通用户登录输入密码正确但是登录却提示被拒绝问题解决,su到root报错
  14. 基于OpenCV的火焰检测(二)——RGB颜色判据
  15. 慕容垂:百万战骨风云里——激荡的鲜卑史略之一(转载)
  16. 年产6000t乳制品工厂设计
  17. python django-blog-zinnia
  18. HashCode 理解测试
  19. 前端小团队建设(实用前端开发规范,推荐收藏)
  20. 编了一套爬虫美女图的一组代码,请大神指点一二;

热门文章

  1. 风光储互补发电系统直流微网
  2. MATLB|基于燃料电池混合动力汽车双层凸优化
  3. 爱数mysql恢复真慢_恍然大悟,原来爱数AnyShare Family 7是这样解决海量小文件备份难题的...
  4. fre740变频器参数_三菱(F700)FR-F740系列变频器常用参数
  5. 攻防世界杂项高手区3-11解题(详细)
  6. JTA(Java Transaction Api)
  7. 操作系统μC/OS-Ⅱ读书笔记(2)
  8. 开发中同一个字拥有不同编码的汇总(eg䶮)
  9. redis集群增加节点和删除节点、或者reshard时报 migrating 错误
  10. TCP和UDP用Java实现