java技术校验字符串、数组是否为空、空字符串

java技术校验字符串、数组是否为空、空字符串-上流阁

java开发中你经常会遇到的是字符串为空而抛出异常,这时候你就会想到如果有一个工具类可以校验一下如果是空或者是空字符串。我则跳过去不走这个方法或者返回错误信息。下面给大家分享校验空值、空字符串的几个方法:

方法一:判断字符串是否为非空(包含null与"")

/**
* 判断字符串是否为非空(包含null与"")
* 江风成
* @param str
* @return
*/
public static boolean isNotEmpty(String str) {
if (str == null || "".equals(str))
return false;
return true;
}

方法二:判断字符串是否为非空(包含null与"","    ")

/**
* 判断字符串是否为非空(包含null与""," ")
* 江风成
* @param str
* @return
*/
public static boolean isNotEmptyIgnoreBlank(String str) {
if (str == null || "".equals(str) || "".equals(str.trim()))
return false;
return true;
}

方法三:判断字符串是否为空(包含null与"")

/**
* 判断字符串是否为空(包含null与"")
* 江风成
* @param str
* @return
*/
public static boolean isEmpty(String str) {
if (str == null || "".equals(str))
return true;
return false;
}

方法四:判断字符串是否为空(包含null与"","    ")

/**
* 判断字符串是否为空(包含null与""," ")
* 江风成
* @param str
* @return
*/
public static boolean isEmptyIgnoreBlank(String str) {
if (str == null || "".equals(str) || "".equals(str.trim()))
return true;
return false;
}

方法五:判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty

/**
* 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty
* 江风成
* @param obj
* @return
*/
@SuppressWarnings("rawtypes")
public static boolean isNullOrEmpty(Object obj) {
if (obj == null)
return true;

if (obj instanceof CharSequence)
return ((CharSequence) obj).length() == 0;

if (obj instanceof Collection)
return ((Collection) obj).isEmpty();

if (obj instanceof Map)
return ((Map) obj).isEmpty();

if (obj instanceof Object[]) {
Object[] object = (Object[]) obj;
if (object.length == 0) {
return true;
}
boolean empty = true;
for (int i = 0; i < object.length; i++) {
if (!isNullOrEmpty(object[i])) {
empty = false;
break;
}
}
return empty;
}
return false;
}

*文章为作者独立观点,不代表上流阁立场
本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/java/2016/10/26/432.html
发表评论

坐等沙发
相关文章
jar包解压后,修改完配置文件,再还原成jar包
jar包解压后,修改完配置文件,再还原成…
JAVA DES 十六进制加密
JAVA DES 十六进制加密
HTML中Data URI scheme BASE64 文件的拼接头
HTML中Data URI scheme BASE64 文件的拼…
windows BAT 文件 多个命令同步执行
windows BAT 文件 多个命令同步执行
java 中 封装BigDecimal常用计算类MathUtils
java 中 封装BigDecimal常用计算类MathU…
JDBC原生链接Mysql数据根据表映射生成bean实体类
JDBC原生链接Mysql数据根据表映射生成be…
javaweb开发程序员php开发,微信开发。接受定制开发

最新评论