- 浏览: 264834 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
pyl574069214:
...
JSP web.xml <jsp-config>标签使用详解 -
mrjianggd:
你好,文章开头说的离线堆允许创建非常大缓存,超过350g,那么 ...
EHCache BigMemory(译) -
jackylt_lu:
xuyelongjava 写道好贴。。学习了!
StringUtils工具类的常用方法 -
sqe_james:
ltx 写道StringUtils 方法的操作对象是 java ...
StringUtils工具类的常用方法 -
ltx:
StringUtils 方法的操作对象是 java.lang. ...
StringUtils工具类的常用方法
StringUtils
方法的操作对象是 java.lang.String
类型的对象,是对 JDK
提供的 String
类型操作方法的补充,并且是 null
安全的(即如果输入参数 String
为 null
则不会抛出 NullPointerException
,而是做了相应处理,例如,如果输入为 null
则返回也是 null
等,具体可以查看源代码)。
除了构造器,StringUtils
中一共有130多个方法,并且都是 static
的,所以我们可以这样调用 StringUtils.xxx()
下面分别对一些常用方法做简要介绍:
1. public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是 str==null
或 str.length()==0
下面是 StringUtils
判断是否为空的示例:
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
//注意在 StringUtils
中空格作非空处理
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
2. public static boolean isNotEmpty(String str)
判断某字符串是否非空,等于 !isEmpty(String str)
下面是示例:
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true
3. public static boolean isBlank(String str)
判断某字符串是否为空或长度为0或由空白符(whitespace)
构成
下面是示例:
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true
//对于制表符、换行符、换页符和回车符
StringUtils.isBlank()
//均识为空白符
StringUtils.isBlank("\b") = false
//"\b"为单词边界符
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
4. public static boolean isNotBlank(String str)
判断某字符串是否不为空且长度不为0且不由空白符(whitespace)
构成,等于 !isBlank(String str)
下面是示例:
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true
5. public static String trim(String str)
去掉字符串两端的控制符(control characters, char <= 32)
, 如果输入为 null
则返回null
下面是示例:
StringUtils.trim(null) = null
StringUtils.trim("") = ""
StringUtils.trim(" ") = ""
StringUtils.trim(" \b \t \n \f \r ") = ""
StringUtils.trim(" \n\tss \b") = "ss"
StringUtils.trim(" d d dd ") = "d d dd"
StringUtils.trim("dd ") = "dd"
StringUtils.trim(" dd ") = "dd"
6. public static String trimToNull(String str)
去掉字符串两端的控制符(control characters, char <= 32)
,如果变为 null
或"",则返回 null
下面是示例:
StringUtils.trimToNull(null) = null
StringUtils.trimToNull("") = null
StringUtils.trimToNull(" ") = null
StringUtils.trimToNull(" \b \t \n \f \r ") = null
StringUtils.trimToNull(" \n\tss \b") = "ss"
StringUtils.trimToNull(" d d dd ") = "d d dd"
StringUtils.trimToNull("dd ") = "dd"
StringUtils.trimToNull(" dd ") = "dd"
7.
public static String trimToEmpty(String str)
去掉字符串两端的控制符(control characters, char <= 32)
,如果变为 null
或 ""
,则返回 ""
下面是示例:
StringUtils.trimToEmpty(null) = ""
StringUtils.trimToEmpty("") = ""
StringUtils.trimToEmpty(" ") = ""
StringUtils.trimToEmpty(" \b \t \n \f \r ") = ""
StringUtils.trimToEmpty(" \n\tss \b") = "ss"
StringUtils.trimToEmpty(" d d dd ") = "d d dd"
StringUtils.trimToEmpty("dd ") = "dd"
StringUtils.trimToEmpty(" dd ") = "dd"
8. public static String strip(String str)
去掉字符串两端的空白符(whitespace)
,如果输入为 null
则返回 null
下面是示例(注意和 trim()
的区别):
StringUtils.strip(null) = null
StringUtils.strip("") = ""
StringUtils.strip(" ") = ""
StringUtils.strip(" \b \t \n \f \r ") = "\b"
StringUtils.strip(" \n\tss \b") = "ss \b"
StringUtils.strip(" d d dd ") = "d d dd"
StringUtils.strip("dd ") = "dd"
StringUtils.strip(" dd ") = "dd"
9. public static String stripToNull(String str)
去掉字符串两端的空白符(whitespace)
,如果变为 null
或"",则返回 null
下面是示例(注意和 trimToNull()
的区别):
StringUtils.stripToNull(null) = null
StringUtils.stripToNull("") = null
StringUtils.stripToNull(" ") = null
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"
10. public static String stripToEmpty(String str)
去掉字符串两端的空白符(whitespace)
,如果变为 null
或""
,则返回""
下面是示例(注意和 trimToEmpty()
的区别):
StringUtils.stripToNull(null) = ""
StringUtils.stripToNull("") = ""
StringUtils.stripToNull(" ") = ""
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"
以下方法只介绍其功能,不再举例:
11. public static String strip(String str, String stripChars)
去掉 str
两端的在 stripChars
中的字符。
如果 str
为 null
或等于""
,则返回它本身;
如果 stripChars
为 null
或""
,则返回 strip(String str)
。
12. public static String stripStart(String str, String stripChars)
和11相似,去掉 str
前端的在 stripChars
中的字符。
13. public static String stripEnd(String str, String stripChars)
和11相似,去掉 str
末端的在 stripChars
中的字符。
14. public static String[] stripAll(String[] strs)
对字符串数组中的每个字符串进行 strip(String str)
,然后返回。
如果 strs
为 null
或 strs
长度为0,则返回 strs
本身
15. public static String[] stripAll(String[] strs, String stripChars)
对字符串数组中的每个字符串进行 strip(String str, String stripChars)
,然后返回。
如果 strs
为 null
或 strs
长度为0,则返回 strs
本身
16. public static boolean equals(String str1, String str2)
比较两个字符串是否相等,如果两个均为空则也认为相等。
17. public static boolean equalsIgnoreCase(String str1, String str2)
比较两个字符串是否相等,不区分大小写,如果两个均为空则也认为相等。
18. public static int indexOf(String str, char searchChar)
返回字符 searchChar 在字符串 str
中第一次出现的位置。
如果 searchChar
没有在 str
中出现则返回-1,
如果 str
为 null
或 ""
,则也返回-1
19. public static int indexOf(String str, char searchChar, int startPos)
返回字符 searchChar
从 startPos
开始在字符串 str
中第一次出现的位置。
如果从 startPos
开始 searchChar
没有在 str
中出现则返回-1,
如果 str
为 null
或 ""
,则也返回-1
20. public static int indexOf(String str, String searchStr)
返回字符串 searchStr
在字符串 str
中第一次出现的位置。
如果 str
为 null
或 searchStr
为 null
则返回-1,
如果 searchStr
为 ""
,且 str
为不为 null
,则返回0,
如果 searchStr
不在 str
中,则返回-1
21. public static int ordinalIndexOf(String str, String searchStr, int ordinal)
返回字符串 searchStr
在字符串 str
中第 ordinal
次出现的位置。
如果 str=null
或 searchStr=null
或 ordinal<=0
则返回-1
举例(*代表任意字符串):
StringUtils.ordinalIndexOf(null, *, *) = -1
StringUtils.ordinalIndexOf(*, null, *) = -1
StringUtils.ordinalIndexOf("", "", *) = 0
StringUtils.ordinalIndexOf("aabaabaa", "a", 1) = 0
StringUtils.ordinalIndexOf("aabaabaa", "a", 2) = 1
StringUtils.ordinalIndexOf("aabaabaa", "b", 1) = 2
StringUtils.ordinalIndexOf("aabaabaa", "b", 2) = 5
StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1
StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4
StringUtils.ordinalIndexOf("aabaabaa", "bc", 1) = -1
StringUtils.ordinalIndexOf("aabaabaa", "", 1) = 0
StringUtils.ordinalIndexOf("aabaabaa", "", 2) = 0
22. public static int indexOf(String str, String searchStr, int startPos)
返回字符串 searchStr
从 startPos
开始在字符串 str
中第一次出现的位置。
举例(*代表任意字符串):
StringUtils.indexOf(null, *, *) = -1
StringUtils.indexOf(*, null, *) = -1
StringUtils.indexOf("", "", 0) = 0
StringUtils.indexOf("aabaabaa", "a", 0) = 0
StringUtils.indexOf("aabaabaa", "b", 0) = 2
StringUtils.indexOf("aabaabaa", "ab", 0) = 1
StringUtils.indexOf("aabaabaa", "b", 3) = 5
StringUtils.indexOf("aabaabaa", "b", 9) = -1
StringUtils.indexOf("aabaabaa", "b", -1) = 2
StringUtils.indexOf("aabaabaa", "", 2) = 2
StringUtils.indexOf("abc", "", 9) = 3
23. public static int lastIndexOf(String str, char searchChar)
基本原理同18
24. public static int lastIndexOf(String str, char searchChar, int startPos)
基本原理同19
25. public static int lastIndexOf(String str, String searchStr)
基本原理同20
26. public static int lastIndexOf(String str, String searchStr, int startPos)
基本原理同22
另附:
String
的 split(String regex)
方法的用法
如果我们需要把某个字符串拆分为字符串数组,则通常用 split(String regex)
来实现。
例如:
String str = "aa,bb,cc,dd"; String[] strArray = str.split(","); System.out.println(strArray.length); for (int i = 0; i < strArray.length; i++) { System.out.println(strArray[i]); }
结果为:
4
aa
bb
cc
dd
如果,
String str = "aa.bb.cc.dd";
String[] strArray = str.split(".");
则结果为:0
为什么结果不是我们所想的呢,原因是参数 String regex
是正则表达式 (regular expression)
而不是普通字符串,而 "."
在正则表达式中有特殊含义,表示匹配所有单个字符。如果要那样拆分,我们必须给 "."
进行转义,String[] strArray = str.split(".")
修改为 String[] strArray = str.split("\\.")
即可。
另外有关 StringUtils
的详细 API
请参见官方网站
评论
StringUtils恐怕不是JDK提供的吧,而是apache呀!它需要导 commons-lang.jar包呀!
第三方对JDK类库提供的补充。
StringUtils恐怕不是JDK提供的吧,而是apache呀!它需要导 commons-lang.jar包呀!
发表评论
-
各种Cache技术分析
2014-10-10 22:09 1352redis、memcache、mongoDB 对比 ... -
开发中常见异常归总
2013-10-26 11:40 2751一、javamail 异常 1. java.lang.N ... -
Ant Task结合Hibernate Tools3.x快速开发
2009-03-30 11:19 5452最近看Hibernate Reference ... -
JDBC编程
2008-04-21 21:17 2345JDBC API 架构图如下: 1. ... -
基于Java 5 注释的Acegi方法保护
2008-04-15 13:46 4944使用Java 5 Annotations 方式来实现方法级别的 ... -
Acegi 应用基础
2008-03-26 23:22 1527Acegi 是一个基于 Spring 开发的安全框架, ... -
JSP/Servlet的编码原理
2007-12-23 00:48 5518首先,说说 JSP/Servlet 中的几个编码的作用 ... -
JSP web.xml <jsp-config>标签使用详解
2007-12-22 23:36 33606<jsp-config> 包括 <tagli ... -
ANT 自动化构建
2007-12-16 11:08 4502本文就日常开发中常用到的一些 ant task 作一些说明 ... -
HttpUnit集成测试
2007-12-03 11:05 3235HttpUnit是一个集成测试工具,主要关注Web应用的测试, ... -
J2EE架构的6个最佳实践(引用)
2007-11-29 22:43 1723虽然许多文章曾经 ... -
对象继承的映射
2007-11-04 18:15 2704Hibernate支持三种继承映 ... -
Spring与Struts的整合策略
2007-11-01 16:49 2462思想:将获取业务逻辑组件的方式放在父类中实现,而其余的Acti ... -
Hibernate中映射集合属性
2007-10-31 11:08 8158集合属性大致有两种:第一种是单纯的集合属性,如像 List、S ...
相关推荐
1. StringUtils 工具类的重要性:StringUtils 工具类是 Java 中最常用的字符串处理工具类之一,我们可以使用它来处理各种字符串操作。 2. 自定义封装 StringUtils 工具类的必要性:自定义封装 StringUtils 工具类...
`StringUtils`工具类是Java开发中非常常用的一个类库,主要提供了一系列静态方法来处理字符串。这个工具类在处理字符串的常见操作时提供了很大的便利,比如数组转字符串、空值检测、非空处理以及空格处理等。接下来...
在Java编程语言中,`StringUtils` 是一个非常实用的工具类,它提供了大量关于字符串操作的方法,极大地简化了对字符串的处理。这个类通常在处理字符串时提高代码的可读性和效率,尤其在处理字符串的空值、拼接、分割...
继承了org.apache.commons.lang3.StringUtils工具类,加入了部分常用方法,使用时直接添加到项目的公共utils下,同时在pom.xml加入依赖: <!-- ...
基于StringUtils工具类的常用方法介绍 StringUtils工具类是Java中一个功能强大且常用的工具类,提供了许多实用的字符串操作方法。下面将对StringUtils工具类的常用方法进行介绍。 判断字符串是否为空 * isEmpty...
1. org.springframework.util.StringUtils 工具类用于判断字符串非空,常用的方法有 isEmpty()、hasText() 等。 2. org.springframework.util.CollectionUtils 工具类用于判断 List 和 Map 集合的非空,常用的方法有...
以下是对"一些java常用的工具类"的详细说明。 首先,工具类通常包含静态方法,这些方法不依赖于类的实例,可以直接调用,减少了对象创建的开销。这些类通常以“Utils”或“Helper”结尾,如Apache Commons Lang中的...
本篇将详细介绍Spring Boot中的一些常用工具类及其示例。 1. **`java.time` API** Spring Boot完全支持Java 8的日期时间API,如`LocalDateTime`, `LocalDate`, `LocalTime`等。这些类提供了丰富的功能,如日期时间...
以下是对标题和描述中提到的几个常用工具类的详细说明: 1. **DateUtils**: `java.util.Date` 和 `java.time` 包含日期和时间的操作,但DateUtils通常是Apache Commons Lang库中的一个工具类,提供更方便的日期处理...
"android开发常用工具类utils精装集合"是一个专门针对Android开发者的资源包,包含了在公司项目中实际运用的Utils类集合。这些工具类覆盖了Android开发中的各种常见需求,旨在简化开发流程,提升开发效率。 1. **...
"开发常用工具类"这个主题涵盖了各种不同领域的实用功能,例如字符串处理、日期时间操作、集合操作等。下面将详细介绍这些工具类中的常见知识点: 1. **字符串工具类**: - `StringUtils`:Apache Commons Lang ...
`StringUtils` API 是 Apache Commons Lang 库中的一个实用工具类,专门为处理 `java.lang.String` 对象提供了丰富的静态方法。这个库是对 Java 标准库中的 `String` 类方法的一个扩展,尤其在处理 `null` 和空白...
Java的`java.lang.String`类虽然已经提供了很多字符串操作的方法,但在实际开发中,`java.util.StringUtils`(来自Apache Commons Lang库)和`org.springframework.util.StringUtils`(Spring框架)等工具类提供了...
"Java常用工具类汇总"是一个集合了各种实用工具类的资源,旨在方便开发者在处理常见任务时提高效率。这个工具类库覆盖了字符串、文件、数组以及数学等多个方面,同时也提供了相应的API文档,使得开发者能够更好地...
"常用工具类jar包"是一个集合了各种实用工具方法的库,主要包含了字符串处理、JSON转换处理、订单实体类以及商品库客户端调用的封装。下面将对这些知识点进行详细解释: 1. **字符串处理封装**: 字符串处理是编程...
Java常用工具类是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、...
"java常用工具类集合"是一个综合性的资源,它包含了从不同来源收集的实用工具类,旨在帮助开发者提高效率,减少代码重复。下面,我们将深入探讨这个主题,分析其中可能包含的知识点。 首先,`opslabJutil-master....
在这个"Android常用工具类"中,我们可以看到几个关键的工具类:DateUtils、OkhttpUtils、StringUtils、ToastUtils和LocationUtils。接下来,我们将详细探讨这些工具类的功能和用法。 1. **DateUtils**: DateUtils...
在给定的标题"常用工具类"中,我们提到了`StringUtils`、`JDBCUtils`和`ReflectUtils`,这些都是Java开发中非常重要的工具类。下面将分别详细介绍这三个工具类以及它们在实际开发中的应用。 1. **StringUtils**: ...