- 浏览: 6958 次
文章分类
最新评论
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 681概述--Spring MVC工作流程图 图一 ... -
JAVA基础篇【工具类】加密解密(一)DES加密和解密 TG【20130331整理】
2016-11-28 10:24 0import java.io.UnsupportedEn ... -
JAVA基础篇【工具类】MathUtil 数学运算辅助类TG【20130324整理】
2016-11-28 10:17 583数学运算辅助类,希望对大家有所帮助 import java ... -
JAVA基础篇【工具类】CollectionUtil 集合操作工具类 TG【20130318整理】
2016-11-28 10:13 636集合操作工具类 import java.util.Colle ... -
JAVA基础篇【工具类】ZipUtil zip工具类 TG【20130318整理】
2016-11-28 10:03 858import java.io.BufferedInputS ... -
JAVA基础篇【工具类】 SpellHelper 汉字转拼音 TG【20130318整理】
2016-11-28 10:00 493SpellHelper 该类是将汉字转化为拼音的工具类 ... -
JAVA基础篇【工具类】FtpUtil TG【20130317整理】
2016-11-28 09:51 289Ftp工具 在我们编程的时候,我们经常会遇到链接ftp存文件和 ... -
推荐CSS工具资源TG【20110309整理】
2016-11-14 17:27 402456 Berea Street http://www.45 ... -
浅谈JavaScript&TypeeScriptTG【20130305整理】
2016-11-14 17:02 5051.JavaScript 在1995年时 ...
相关推荐
本篇文章将深入探讨如何在Java中实现一个用于处理HTTPS请求的工具类。 首先,要实现HTTPS请求,我们需要导入Java的`java.net`和`javax.net.ssl`包,这两个包提供了处理网络连接和SSL/TLS安全协议的类。以下是一些...
本篇将详细讲解标题为"完整的java文件读写工具类"所涉及的核心知识点,以及如何实现描述中提到的文件与目录管理功能。 1. **Java IO基础**: Java IO是Java标准库中的核心部分,提供了处理输入/输出流的类。在`...
本篇文章将深入探讨Java中的对象、基础类型以及数据处理相关的工具类。 首先,让我们关注Java中的基础类型。Java有八种原始数据类型:byte、short、int、long、float、double、char和boolean。为了方便处理这些类型...
本篇文章将详细介绍如何在Java中使用Google翻译API,并提供一个可直接运行的工具类示例。 首先,我们需要了解Google翻译API的基本概念。Google Translate API是Google Cloud平台的一部分,它提供了RESTful接口,...
本篇文章将详细介绍如何使用Java语言实现Http和Https请求的工具类,包括如何建立Https连接、如何实现Post请求、如何处理SSL验证等内容。 在Java中,使用HttpURLConnection类可以实现Http和Https请求,但是对于...
总的来说,"Java答案 基础篇"涵盖的范围广泛,从基本的语法到面向对象的概念,再到异常处理和实用工具类,都是Java程序员必须掌握的内容。对于初学者来说,这是一份宝贵的资源,有助于他们在实践中不断加深对Java的...
本篇文章将重点介绍Apache POI库,它是Java处理Microsoft Office格式文件的一个强大工具。 Apache POI库提供了对Microsoft Office文档(如Excel)的读写功能。对于Excel文件,POI使用了HSSF(Horrible Spreadsheet ...
本书是java程序设计的基础篇。是英文版的。适合英语水平较好的java初学者观看。也适合开发人员的参考用书。中文版的可以进一步咨询QQ945745429
本篇文章将深入探讨Jackson库中的核心工具类`ObjectMapper`,以及如何使用`JacksonUtils`来简化JSON操作。 `ObjectMapper`是Jackson库的核心组件,它负责将Java对象转换为JSON字符串,反之亦然。`ObjectMapper`提供...
这篇博文"JavaDBF工具类"的作者分享了一个实用的Java库,用于操作DBF文件。通过这个工具类,开发者可以轻松地在Java应用程序中读取DBF文件中的记录,添加、修改或删除记录,并将更改写回文件。这对于需要处理这种...
本篇将详细介绍一些Java中常用的工具类及其应用。 一、`java.util.Arrays` `Arrays`类是Java提供的一组静态方法,用于操作各种类型的数组。它提供了排序、搜索、填充、复制等操作,例如`sort()`用于对数组进行升序...
这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...
本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`这两个类来处理日期和时间。`Date`类用于表示...
本篇文章将全面解析Java IO工具类,帮助你理解并掌握其在实际开发中的应用。 一、Java IO基础 Java IO体系主要由流(Stream)组成,分为字节流和字符流两大类,分别处理字节数据和字符数据。字节流包括InputStream...
本篇文章将聚焦于“Java Utils 工具类”,特别是通过分析提供的`ProcessUtil.java`文件,来深入理解如何构建和使用这样的工具类。 ### 1. Java工具类的基本概念 工具类通常包含一组静态方法,用于执行特定任务,如...
在本篇内容中,我们将聚焦于"Aspose-17.8 Java 生成PDF工具类",了解如何利用Aspose库在Java环境中创建PDF文件。 首先,`aspose.pdf-17.8.jar`是Aspose.Pdf组件的核心库,它允许开发者在Java应用中创建、操作和转换...
本书是Java语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI程序设计、数据结构和算法、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供大量的程序清单,每章配...
学习"JAVA程序员必读基础篇"的内容,将帮助初学者建立起坚实的Java编程基础,为进一步深入学习Java高级特性,如Spring框架、JDBC数据库访问、多线程编程等打下坚实的基础。通过实践和不断练习,你将能够熟练掌握这个...
本篇文章将详细解析Java中常用的工具类,包括字符处理、文件处理、时间操作以及图片处理等方面的知识点。 1. **字符处理**: - `java.lang.String`:String类是Java中最基础也是最常用的数据类型之一,提供了大量...