判断任意参数是否为空的工具方法
2018-07-20 来源:open-open
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;
}
}
/**
* <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;
}
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐