StringUtils.isEmpty
源码
这个方法判断的是字符串是否为null或者其长度是否为零。
public static boolean isEmpty(CharSequence cs) {
return cs == null || cs.length() == 0;
}
public static boolean isNotEmpty(String str) {
return !isEmpty(str);
}
测试效果
package com.fcant.fclink.utils;
import org.apache.commons.lang3.StringUtils;
/**
* TestCheckNull
* <p>
* encoding:UTF-8
*
* @author Fcant 上午 10:12 2020/7/26/0026
*/
public class TestCheckNull {
public static void main(String[] args) {
BlankAndEmpty();
}
public static void BlankAndEmpty(){
System.out.println(StringUtils.isEmpty(null));
System.out.println(StringUtils.isEmpty(""));
System.out.println(StringUtils.isEmpty(" "));
System.out.println(StringUtils.isEmpty("\t"));
System.out.println(StringUtils.isEmpty("Fcant"));
}
}
StringUtils.isBlank
源码
这个方法除了判断字符串是否为null和长度是否为零,还判断了是否为空格,如果是空格也返回true。
public static boolean isBlank(CharSequence cs) {
int strLen = length(cs);
if (strLen == 0) {
return true;
} else {
for(int i = 0; i < strLen; ++i) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
}
}
public static boolean isNotBlank(String str) {
return !isBlank(str);
}
测试效果
package com.fcant.fclink.utils;
import org.apache.commons.lang3.StringUtils;
/**
* TestCheckNull
* <p>
* encoding:UTF-8
*
* @author Fcant 上午 10:12 2020/7/26/0026
*/
public class TestCheckNull {
public static void main(String[] args) {
BlankAndEmpty();
}
public static void BlankAndEmpty(){
System.out.println(StringUtils.isBlank(null));
System.out.println(StringUtils.isBlank(""));
System.out.println(StringUtils.isBlank(" "));
System.out.println(StringUtils.isBlank("\t"));
System.out.println(StringUtils.isBlank("Fcant"));
}
}
总结
isEmpty
:如果是null或者“”则返回true。isBlank
:如果是null或者“”或者空格或者制表符则返回true。「**isBlank**
判空更加准确」。扩展
判断几个字段同时不能为空,如果还用isBlank就显得有点累赘了。可以使用String的可变参数提供如下工具类。
这个工具类的优点很明显,一方面判断了字符串“null”,另一方面对参数个数无限制,只要有一个参数是空则返回true。public class StringTool {
public static boolean isNullStr(String.. . args) {
boolean falg = false;
for (String arg : args) {
if (Stringutils.isBlank(arg) || arg.equals("null")) {
falg = true;
return falg;
}
}
return falg;
}
}