今天在使用一个别人写的工具类,这个工具类,主要是判空操作,包括集合、数组、Map等对象是否为空的操作。
下面展示了一部分代码:
public static boolean isEmpty(Object object) {
if(object == null){
return true;
}
//数组判空
if (object.getClass().isArray()) {
Object[] obj = (Object[])object;
return obj.length == 0;
}
}
在外部,我传进来一个数组后,可以看到直接强转为数组。
我测试了下,转换异常。
后来我自己封装了下,正常的操作应该是这样的:
public static boolean isEmpty(Object object) {
if(object == null){
return true;
}
//数组判空
if (object.getClass().isArray()) {
int len = Array.getLength(object);
Object[] obj = new Object[len];
for(int i = 0; i < len; i++) {
obj[i] = Array.get(obj, i);
}
return obj.length == 0;
}
}
最后测试通过。