StringUtils一些常用方法
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一些常用方法相关推荐
- Java常用工具类StringUtils的常用方法
Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...
- java tostringutils_Java之StringUtils的常用方法
StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...
- Java之StringUtils的常用方法(非常不错)
StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...
- StringUtils常用方法
文章目录 1.截取 1.1.根据指定位置截取字符串 (1).指定开始位置 (2).指定起始位置和结束位置 1.2.从指定的分隔符截取 (1).从分隔符第一次出现的位置向后截取 (2).从分隔符最后一次 ...
- eclipse查看jar包源码(反编译)
国际惯例,百度翻帖. 法一: jar包右键->打开方式-> 但是,我失败了,没有任何反应,猜测可能是没有安装相关软件,下面就是软件的安装. 法二: 利用JD-DUI查看源码,需要安装JD- ...
- 常用注解,依赖,常用类,插件和其它(自用)
目录 参考 下面是自己写的笔记 java注解大全参考: 实用的注解: @Controller 和 @RestController @RequestMapper @PathVariable 和 @Req ...
- Java最强最新知识体系总结(2021版)
一.Java基础知识 1.基础知识 分类 内容 链接 Java基础 [Java知识点详解 1]缓存 链接1 Java基础 [Java知识点详解 2]动态代理 链接2 Java基础 [Java知识点详解 ...
- Java开发常用代码
一.获取UUID UUID uuid = UUID.randomUUID(); String str = uuid.toString(); // 去掉"-" String s = ...
- StringUtils工具类的常用方法
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String ...
最新文章
- “坑爹”排行榜:Java语言最违反常识的功能点TOP 10
- godaddy域名转发(域名跳转)设置教程
- 精华阅读第 10 期 |解开阿尔法狗(AlphaGo)人工智能的画皮
- 《构建之法》读后感5
- Eclipse新建web项目和“javax.servlet.http.HttpServlet“ was not found on the Java Build Path错误
- 【Linux】一步一步学Linux——arpwatch命令(165)
- java buffer 记事本_Java实现记事本|IO流/GUI
- Elasticsearch中的Multi Match Query
- tensorflow.python.framework.errors_impl.NotFoundError: libnvinfer.so.5: cannot open shared object fi
- 前端学习(3142):react-hello-react之父组件render
- 图片格式转换工具与方法
- 已达成计算机的连接数最大值无法再,已达到计算机的连接数最大值,无法再同此远程计算机连接...
- 基于github和hexo搭建博客 本地hexo博客搭建
- div+css 布局下兼容IE6 IE7 FF常见问题
- 软件工程复习提纲——第八章
- java的睡眠方式有几种_java的几种定时任务
- 种草电商系统种草电商系统开发解决方案
- java链接Kepserver报错误码[0x8001FFFF]
- ubuntu下gstreamer解码器
- 计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档)
热门文章
- AD域控exchange邮箱(四)——获取AD域控中计算机有哪些账号登录过
- Linux操作Oracle(11)——Oracle用户密码过期 设置密码永不过期方法
- python读取文件时提示“UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 1264: illegal multi
- oracle修改用户的登录密码
- kali使用msf 通过ms17_010_eternalblue(永恒之蓝)漏洞攻击win7测试 及乱码问题解决
- 一个tile布局的下拉框
- javascript的发展(周边插件的由来)
- awr报告 解读_AWR报告分析解读
- web css圆弧波浪线,web前端入门到实战:css实现波浪线及立方体
- pwd赋值给变量 shell_Shell脚本中的变量详解