StringUtils是org.apache.commons.lang jar包里面的类方法,当输入参数String为null则不会抛出NullPointerException,而是做了相应处理,null是安全的。而JDK中String类里面的方法会抛出NullPointerException。下面我介绍StringUtils一些常用的方法,它和String类的方法有很多相似的地方。开发的时候用StringUtils的jar才可以用这个类里面的方法,其实StringUtils类的方法也可以用String类里面方法实现,开发的时候根据需要来选择用哪一类的方法吧。

1.public static boolean isEmpty(String str)

判断某字符串是否为空,为空的标准是str == null 或 str.length() == 0。但是字符串为空格为true。

StringUtils.isEmpty(null)      = true

StringUtils.isEmpty("")        = true

StringUtils.isEmpty(" ")       = false

StringUtils.isEmpty("bob")     = false

StringUtils.isEmpty("  bob  ") = false

源码:

public static boolean isEmpty(String str) {return str == null || str.length() == 0;}

2.public static boolean isNotEmpty(String str)

判断某字符串是否不为空,与isEmpty(String str)相反。

3.public static boolean isBlank(String str)

判断字符串是否为空,字符长度为0同时也包括空白符的字符串,这个比isEmpty范围更广。

StringUtils.isBlank(null)      = true

StringUtils.isBlank("")        = true

StringUtils.isBlank(" ")       = true

StringUtils.isBlank("bob")     = false

StringUtils.isBlank("  bob  ") = false

源码:

public static boolean isBlank(String str) {int strLen;if (str == null || (strLen = str.length()) == 0) {return true;}for (int i = 0; i < strLen; i++) {if ((Character.isWhitespace(str.charAt(i)) == false)) {return false;}}return true;}

改写源码方法:

public static boolean isBlank(String str) {if (str == null || ( str.trim().length()) == 0) {return true;}return false;/*int strLen;if (str == null || (strLen = str.length()) == 0) {return true;}for (int i = 0; i < strLen; i++) {if ((Character.isWhitespace(str.charAt(i)) == false)) {return false;}}return true;*/}

4. public static boolean isNotBlank(String str)

判断字符串是否不为空,字符长度不为0同时不为空白符的字符串,与isBlank(String str) 方法相反。

5. public static String trim(String str)

去掉字符串两端的控制符(char <= 32),如果输入为null则返回null。注意:字符串中间有控制符则不会去掉,trim()方法在String里面也有这个方法,但是两者有一定的区别,当对null进行相关操作的话,StringUtils.trim(null)会返回为null,但是调用null.trim()则会抛出java.lang.NullPointerException异常。

StringUtils.trim(null)          = null

StringUtils.trim("")            = ""

StringUtils.trim("     ")       = ""

StringUtils.trim("    \b \t \n \f \r    ") = ""

StringUtils.trim("abc")         = "abc"

StringUtils.trim("abc   def")  = "abc   def"

StringUtils.trim("    abc    ") = "abc"

源码:

public static String trim(String str) {

return str == null ? null : str.trim();

}

6.public static String strip(String str)

去掉字符串两端的空白符(whitespace),如果变为null,则返回null

7. public static String swapCase(String str)

把字符串中的字符大写转换为小写,小写转换为大写。

StringUtils.swapCase(null)                 = null

StringUtils.swapCase("")                   = ""

StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"

转载于:https://www.cnblogs.com/javJoker/p/7117287.html

StringUtils一些常用方法相关推荐

  1. Java常用工具类StringUtils的常用方法

    Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...

  2. java tostringutils_Java之StringUtils的常用方法

    StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...

  3. Java之StringUtils的常用方法(非常不错)

    StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...

  4. StringUtils常用方法

    文章目录 1.截取 1.1.根据指定位置截取字符串 (1).指定开始位置 (2).指定起始位置和结束位置 1.2.从指定的分隔符截取 (1).从分隔符第一次出现的位置向后截取 (2).从分隔符最后一次 ...

  5. eclipse查看jar包源码(反编译)

    国际惯例,百度翻帖. 法一: jar包右键->打开方式-> 但是,我失败了,没有任何反应,猜测可能是没有安装相关软件,下面就是软件的安装. 法二: 利用JD-DUI查看源码,需要安装JD- ...

  6. 常用注解,依赖,常用类,插件和其它(自用)

    目录 参考 下面是自己写的笔记 java注解大全参考: 实用的注解: @Controller 和 @RestController @RequestMapper @PathVariable 和 @Req ...

  7. Java最强最新知识体系总结(2021版)

    一.Java基础知识 1.基础知识 分类 内容 链接 Java基础 [Java知识点详解 1]缓存 链接1 Java基础 [Java知识点详解 2]动态代理 链接2 Java基础 [Java知识点详解 ...

  8. Java开发常用代码

    一.获取UUID UUID uuid = UUID.randomUUID(); String str = uuid.toString(); // 去掉"-" String s = ...

  9. StringUtils工具类的常用方法

    StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String  ...

最新文章

  1. “坑爹”排行榜:Java语言最违反常识的功能点TOP 10
  2. godaddy域名转发(域名跳转)设置教程
  3. 精华阅读第 10 期 |解开阿尔法狗(AlphaGo)人工智能的画皮
  4. 《构建之法》读后感5
  5. Eclipse新建web项目和“javax.servlet.http.HttpServlet“ was not found on the Java Build Path错误
  6. 【Linux】一步一步学Linux——arpwatch命令(165)
  7. java buffer 记事本_Java实现记事本|IO流/GUI
  8. Elasticsearch中的Multi Match Query
  9. tensorflow.python.framework.errors_impl.NotFoundError: libnvinfer.so.5: cannot open shared object fi
  10. 前端学习(3142):react-hello-react之父组件render
  11. 图片格式转换工具与方法
  12. 已达成计算机的连接数最大值无法再,已达到计算机的连接数最大值,无法再同此远程计算机连接...
  13. 基于github和hexo搭建博客 本地hexo博客搭建
  14. div+css 布局下兼容IE6 IE7 FF常见问题
  15. 软件工程复习提纲——第八章
  16. java的睡眠方式有几种_java的几种定时任务
  17. 种草电商系统种草电商系统开发解决方案
  18. java链接Kepserver报错误码[0x8001FFFF]
  19. ubuntu下gstreamer解码器
  20. 计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档)

热门文章

  1. AD域控exchange邮箱(四)——获取AD域控中计算机有哪些账号登录过
  2. Linux操作Oracle(11)——Oracle用户密码过期 设置密码永不过期方法
  3. python读取文件时提示“UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 1264: illegal multi
  4. oracle修改用户的登录密码
  5. kali使用msf 通过ms17_010_eternalblue(永恒之蓝)漏洞攻击win7测试 及乱码问题解决
  6. 一个tile布局的下拉框
  7. javascript的发展(周边插件的由来)
  8. awr报告 解读_AWR报告分析解读
  9. web css圆弧波浪线,web前端入门到实战:css实现波浪线及立方体
  10. pwd赋值给变量 shell_Shell脚本中的变量详解