- 浏览: 6380 次
文章分类
最新评论
JAVA基础篇【工具类】StringUtilsTG【20110815整理】
org.apache.commons.lang.StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供 的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException, 而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。
除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()。
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("\\.") 即可。
发表评论
-
spring MVC原理 TG【2013-04-08】
2017-04-28 11:28 642概述--Spring MVC工作流程图 图一 ... -
JAVA基础篇【工具类】加密解密(一)DES加密和解密 TG【20130331整理】
2016-11-28 10:24 0import java.io.UnsupportedEn ... -
JAVA基础篇【工具类】MathUtil 数学运算辅助类TG【20130324整理】
2016-11-28 10:17 519数学运算辅助类,希望对大家有所帮助 import java ... -
JAVA基础篇【工具类】CollectionUtil 集合操作工具类 TG【20130318整理】
2016-11-28 10:13 583集合操作工具类 import java.util.Colle ... -
JAVA基础篇【工具类】ZipUtil zip工具类 TG【20130318整理】
2016-11-28 10:03 777import java.io.BufferedInputS ... -
JAVA基础篇【工具类】 SpellHelper 汉字转拼音 TG【20130318整理】
2016-11-28 10:00 458SpellHelper 该类是将汉字转化为拼音的工具类 ... -
JAVA基础篇【工具类】FtpUtil TG【20130317整理】
2016-11-28 09:51 260Ftp工具 在我们编程的时候,我们经常会遇到链接ftp存文件和 ... -
推荐CSS工具资源TG【20110309整理】
2016-11-14 17:27 360456 Berea Street http://www.45 ... -
浅谈JavaScript&TypeeScriptTG【20130305整理】
2016-11-14 17:02 4231.JavaScript 在1995年时 ...
相关推荐
本书是java程序设计的基础篇。是英文版的。适合英语水平较好的java初学者观看。也适合开发人员的参考用书。中文版的可以进一步咨询QQ945745429
Java所有工具篇Java所有工具篇Java所有工具篇Java所有工具篇Java所有工具篇Java所有工具篇Java所有工具篇
本书是Java语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI程序设计、数据结构和算法、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供大量的程序清单,每章配...
java技术教程基础篇java技术教程基础篇
java语言程序设计基础篇答案 本文的答案是英文版的。反正个人感觉挺好的!
笔记_JAVA基础篇,面试必问的那些事 笔记_JAVA基础篇,面试必问的那些事 笔记_JAVA基础篇,面试必问的那些事 笔记_JAVA基础篇,面试必问的那些事
Java 基础篇26-30
java程序语言设计 梁勇 第十版(基础篇+进阶篇) 课后习题答案
Java语言程序设计(基础篇)第十版,作者梁勇,戴开宇译课程内代码
今天小编就为大家分享一篇关于java字符串中${}或者{}等的占位符替换工具类,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Java基础篇全套视频教程,轻松从0开始入门Java,到精通Java技术
本书是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语 言程序设计进阶篇》。基础篇从Java语言的特点入手,介绍了语法结构、面向对象程序 设计基础知识到面向对象程序设计、图形用户界面设计、...
Java学习笔记,Java基础篇
2020面试题总结JAVA基础篇.pdf
目前我已经结束了Java基础篇的学习,正在学习ssm框架,在框架的学习中我仍然会做好笔记,及时发布,方便大家交流学习,对了,最后我还是要推荐一波图灵学院的java基础的视频课,讲解的真的不错,该笔记就是以此为...
我整理生成的CHM格式文件 JAVA程序员必读:基础篇.chm 因为最近在搞这个所以整理了一些资料和大家分享 并非本人原创,郑重感谢原作者!
这份Java面试复习体系总结包含了Java基础篇必须掌握的内容,内容十分真实,所有的面试题目都不是一成不变的,特别是像一线大厂,面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。...