判斷任意參數是否為空的工具方法

tuzi252177520 9年前發布 | 4K 次閱讀 Java 判空工具方法

public class Prutil {

    /*
<p>
<li>判斷對象是否為空</li>
<li>一般對象為null返回true</li>
<li>String對象為null或空字符串(不去空格)返回ture</li>
<li>集合,數組,Map為空,或沒有元素,或元素值全部為空,返回ture</li>
</p>
@param obj
@return
/
public static boolean isEmpty(Object obj){
if(obj == null)
return true;
if(obj instanceof String){
if(!"".equals(obj))
return false;
}else if(obj instanceof StringBuffer){
return isEmpty(obj.toString());
}else if(obj instanceof Map){
if(!isEmpty(((Map)obj).values()))
return false;
}else if(obj instanceof Enumeration){
Enumeration enumeration = (Enumeration) obj;
while(enumeration.hasMoreElements()){
if(!isEmpty(enumeration.nextElement()))
return false;
}
}else if(obj instanceof Iterable){
if(obj instanceof List && obj instanceof RandomAccess){
List<Object> objList = (List)obj;
for(int i = 0 ; i < objList.size() ; i ++ ){
if(!isEmpty(objList.get(i)))
return false;
}

}else if(!isEmpty(((Iterable)obj).iterator()))
return false;
}else if(obj instanceof Iterator){
Iterator it = (Iterator)obj;
while(it.hasNext()){
if(!isEmpty(it.next()))
return false;
}
}else if(obj instanceof Object[]){
Object[] objs = (Object[])obj;
for(Object elem : objs){
if(!isEmpty(elem))
return false;
}
}else if(obj instanceof int[]){
for(Object elem : (int[])obj){
if(!isEmpty(elem))
return false;
}
}else{
return false;
}
return true;
}

}


 本文由用戶 tuzi252177520 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!