1.字符串
(1)StringUtils.isEmpty 没有忽略空格参数,是以是否为空和是否存在为判断依据。
/**
* * 判断一个字符串是否为空串
*
* @param str String
* @return true:为空 false:非空
*/
public static boolean isEmpty(String str) {
return isNull(str) || NULLSTR.equals(str.trim());
}
(2)StringUtils.isBlank 是在 isEmpty 的基础上进行了为空(字符串都为空格、制表符、tab 的情况)的判断。(一般更为常用)
public static boolean isBlank(CharSequence cs) {
int strLen;
if (cs != null && (strLen = cs.length()) != 0) {
for(int i = 0; i < strLen; ++i) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
} else {
return true;
}
}
2.对象
(1)Objects.isNull 对象直接进行是否是null的判断
public static boolean isNull(Object obj) {
return obj == null;
}
(2)Objects.nonNull 对象直接进行是否是null的判断
public static boolean nonNull(Object obj) {
return obj != null;
}
3.集合
(1)list.isEmpty()方法 当list为空时可以判断为true,但是为null时会报空指针异常
(2)CollectionUtils.isEmpty 判断了集合为null的情况或者集合是否为空集合
public static boolean isEmpty(@Nullable Collection<?> collection) {
return collection == null || collection.isEmpty();
}
(3)MapUtils.isEmpty()方法 判断了Map为null的情况或者集合是否为空集合