开场白
接着上一篇我们继续来学习StringUtils类中一些常用方法的使用,稍微补充一下,StringUtils类中,顾名思义,提供一些我们常用一些字符串校验的方法,比如,字符串是否为空,是否是数字,是否是英文字母等,一般使用在,输入参数的校验等
纯java方式实现参数空判断校验
比如,我们在判断一个字符串是否为空或者null的时候,使用以下的方法
if(value == null || value.length()==0) {
// dosomething
}
StringUtils类实现参数空判断校验
if(StringUtils.isBlank(value)) {
// dosomething
}
一目了然,做同样的事情,用很少的代码,这就是java世界中所期待的东西吧,其实,StringUtils#isBlank方法的具体实现也是用纯java实现是一样的,这只是一个简单的例子,StringUtils类中还有很多这样的方法,接下来我们继续学习
常用方法
- isBlank
方法描述:传入的字符串是null或者空文字("")或者空格(whitespace)或者tab键的场合,返回true,否则返回false
参数类型:String
返回值类型:boolean
public static boolean isBlank(CharSequence cs) {
测试代码:
import org.apache.commons.lang3.StringUtils;
public class IsBlankTest {
public static void main(String[] args) {
System.err.println(StringUtils.isBlank(null));
System.err.println(StringUtils.isBlank(""));
System.err.println(StringUtils.isBlank(" "));
System.err.println(StringUtils.isBlank(" ")); // tab key
System.err.println(StringUtils.isBlank("iosoft2020"));}
}
执行结果
true
true
true
true
false
- isEmpty
方法描述:传入的字符串是null或者空文字("")的场合,返回true,否则返回false
参数类型:String
返回值类型:boolean
public static boolean isEmpty(CharSequence cs) {
测试代码:
import org.apache.commons.lang3.StringUtils;
public class IsEmptyTest {
public static void main(String[] args) {
System.err.println(StringUtils.isEmpty(null));
System.err.println(StringUtils.isEmpty(""));
System.err.println(StringUtils.isEmpty(" "));
System.err.println(StringUtils.isEmpty("iosoft2020"));}
}
执行结果
true
true
false
false
- isBlank和isEmpty区别
源码注释
isBlank
Checks if a CharSequence is whitespace, empty ("") or null.
isEmpty
Checks if a CharSequence is empty ("") or null.
从注释来看,isBlank比isEmpty多check了一个东西,就是whitespace(空格),从我们上边运行的例子也能看出来
- isNotBlank
方法描述:顾名思义,是isBlank取反的用法,传入的字符串不是null或者空文字("")或者空格(whitespace)或者tab键的场合,返回true,否则返回false
参数类型:String
返回值类型:boolean
public static boolean isNotBlank(CharSequence cs) {
测试代码:
import org.apache.commons.lang3.StringUtils;
public class IsNotBlankTest {
public static void main(String[] args) {
System.err.println(StringUtils.isNotBlank(null));
System.err.println(StringUtils.isNotBlank(""));
System.err.println(StringUtils.isNotBlank(" "));
System.err.println(StringUtils.isNotBlank(" ")); // tab key
System.err.println(StringUtils.isNotBlank("iosoft2020"));
}}
执行结果
false
false
false
false
true
- isNotEmpty
方法描述:同样顾名思义,是isEmpty取反的用法,传入的字符串不是null或者空文字("")的场合,返回true,否则返回false
参数类型:String
返回值类型:boolean
public static boolean isNotEmpty(CharSequence cs) {
测试代码:
import org.apache.commons.lang3.StringUtils;
public class IsNotEmptyTest {
public static void main(String[] args) {
System.err.println(StringUtils.isNotEmpty(null));
System.err.println(StringUtils.isNotEmpty(""));
System.err.println(StringUtils.isNotEmpty(" "));
System.err.println(StringUtils.isNotEmpty("iosoft2020"));
}}
执行结果
false
false
true
true
- isNumeric
方法描述:传入的字符串只是数字的场合,返回true,否则返回false
参数类型:String
返回值类型:boolean
public static boolean isNumeric(CharSequence cs) {
测试代码:
import org.apache.commons.lang3.StringUtils;
public class IsNumericTest {
public static void main(String[] args) {
System.err.println(StringUtils.isNumeric(null));
System.err.println(StringUtils.isNumeric(""));
System.err.println(StringUtils.isNumeric("iosoft"));
System.err.println(StringUtils.isNumeric("2020"));
}}
执行结果
false
false
false
true
- isNumericSpace
方法描述:传入的字符串只是数字或者空文字("")或者空格(whitespace)的场合,返回true,否则返回false
参数类型:String
返回值类型:boolean
public static boolean isNumericSpace(CharSequence cs) {
测试代码:
import org.apache.commons.lang3.StringUtils;
public class IsNumericSpaceTest {
public static void main(String[] args) {
System.err.println(StringUtils.isNumericSpace(null));
System.err.println(StringUtils.isNumericSpace(""));
System.err.println(StringUtils.isNumericSpace(" "));
System.err.println(StringUtils.isNumericSpace("iosoft"));
System.err.println(StringUtils.isNumericSpace("2020 "));
}}
执行结果
false
true
true
false
true
- isWhitespace
方法描述:传入的字符串只是空文字("")或者空格(whitespace)或者tab键的场合,返回true,否则返回false
参数类型:String
返回值类型:boolean
public static boolean isWhitespace(CharSequence cs) {
测试代码:
import org.apache.commons.lang3.StringUtils;
public class IsWhitespaceTest {
public static void main(String[] args) {
System.err.println(StringUtils.isWhitespace(null));
System.err.println(StringUtils.isWhitespace(""));
System.err.println(StringUtils.isWhitespace(" "));
System.err.println(StringUtils.isWhitespace(" ")); // tab key
System.err.println(StringUtils.isWhitespace("iosoft2020"));
}}
执行结果
false
true
true
true
false
总结
StringUtils类的总结,就告一段落,肯定还有很多常用的方法,如果还有补充,期待大家的留言,我会继续整理,看到身边做公众号优秀的人,每天都在输出着优秀的内容,我想我也来试试,希望自己能坚持下来,完善自己的知识体系的同时,更期望能帮到需要这些知识点的人,引用陆游的《冬夜读书示子聿》诗来结束这篇文章
古人学问无遗力,少壮工夫老始成
纸上得来终觉浅,绝知此事要躬行