java 中如何判断一个未知对象是否为空
下面是一个通用的方法,判断字符串是否为空,集合是否为空,数组是否为空:
public class Test4
{
/**
* 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty
*
* @param obj
* @return
*/
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[])
{
if (obj.getClass().isArray())
{
return Array.getLength(obj) == 0;
}
}
return false;
}
}
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。
instanceof 通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。
如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。
注:文章原文来至互联网,自己整理而成。