java判断对象是否为空
来源:优易学  2011-12-13 13:31:24   【优易学:中国教育考试门户网】   资料下载   IT书店
  /**
  * 空值检查
  *
  * @param pInput 要检查的字符串
  * @return boolean 返回检查结果,但传入的字符串为空的场合,返回真
  */
  public static boolean isNull (Object pInput) {
  // 判断参数是否为空或者’’
  if (pInput == null || "’’".equals(pInput)) {
  return true;
  } else if ("java.lang.String".equals(pInput.getClass().getName())){
  // 判断传入的参数的String类型的
  // 替换各种空格
  String tmpInput = Pattern.compile("[\\r|\\n|\\u3000]")
  .matcher((String)pInput).replaceAll("");
  // 匹配空
  return Pattern.compile("^(\\s)*$")
  .matcher(tmpInput).matches();
  } else {
  // 方法类
  Method method = null;
  try {
  // 访问传入参数的size方法
  method = pInput.getClass().getMethod("size");
  // 判断size大小
  // size为0的场合
  if (Integer.parseInt(String.valueOf(method.invoke(pInput))) == 0) {
  return true;
  } else {
  return false;
  }
  } catch (Exception e) {
  // 访问失败
  try {
  // 访问传入参数的getItemCount方法
  method = pInput.getClass().getMethod("getItemCount");
  // 判断size大小
  // getItemCount为0的场合
  if (Integer.parseInt(String.valueOf(method.invoke(pInput))) == 0) {
  return true;
  } else {
  return false;
  }
  } catch (Exception ex) {
  // 访问失败
  try{
  // 判断传入参数的长度
  // 长度为0的场合
  if (Array.getLength(pInput) == 0) {
  return true;
  } else {
  return false;
  }
  } catch (Exception exx) {
  // 访问失败
  try{
  // 访问传入参数的hasNext方法
  method = Iterator.class.getMethod("hasNext");
  // 转换hasNext的值
  return !Boolean.valueOf(String.valueOf(method.invoke(pInput)))? true : false;
  } catch (Exception exxx) {
  // 以上场合不满足返回假
  return false;
  }
  }
  }
  }
  }
  }
  以下是测试代码
  import java.awt.List;
  import java.lang.reflect.Array;
  import java.lang.reflect.Method;
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.Hashtable;
  import java.util.LinkedHashMap;
  import java.util.LinkedHashSet;
  import java.util.LinkedList;
  import java.util.Map;
  import java.util.Set;
  import java.util.SortedMap;
  import java.util.TreeMap;
  import java.util.TreeSet;
  import java.util.Vector;
  import java.util.WeakHashMap;
  import java.util.regex.Pattern;
  import java.util.Iterator;
  public class TestNull {
  @SuppressWarnings("unchecked")
  public static void main(String args[]) throws Exception{
  char ch [][] = new char[10][10];
  System.out.println("char ch[]= " + isNull(ch));
  byte be [] = new byte[10];
  System.out.println("byte be[]= " + isNull(be));
  float[] ft = new float[10];
  System.out.println("float ft[]= " + isNull(ft));
  double ad[] = new double[10];
  System.out.println("double ad[]= " + isNull(ad));
  int ai[][][] = new int [10][10][10];
  System.out.println("int ai[]= " + isNull(ai));
  Object ob = null;
  System.out.println("Object= " + isNull(ob));
  String a [] =null;
  System.out.println("String a []= " + isNull(a));
  List aa = new List();
  System.out.println("List= " + isNull(aa));
  ArrayList aaa = new ArrayList();
  System.out.println("ArrayList= " + isNull(aaa));
  Map map = new HashMap();
  System.out.println("HashMap= " + isNull(map));
  String a2 [][][][] = new String[10][10][10][20];
  System.out.println("String a2 [][][][]= " + isNull(a2));
  HashMap map2 = new HashMap();
  System.out.println("HashMap= " + isNull(map2));
  Vector keys = new Vector();
  System.out.println("Vector= " + isNull(keys));
  Hashtable ht = new Hashtable();
  System.out.println("Hashtable= " + isNull(ht));
  LinkedList lt = new LinkedList();
  System.out.println("LinkedList= " + isNull(lt));
  TreeSet tt = new TreeSet();
  System.out.println("TreeSet= " + isNull(tt));
  Set ss = new TreeSet();
  System.out.println("TreeSet= " + isNull(ss));
  Iterator it = new ArrayList().iterator();
  System.out.println("Iterator= " + isNull(it));
  LinkedHashMap llp = new LinkedHashMap();
  System.out.println("LinkedHashMap= " + isNull(llp));
  LinkedHashSet llt = new LinkedHashSet();
  System.out.println("LinkedHashSet= " + isNull(llt));
  WeakHashMap wp =new WeakHashMap();
  System.out.println("WeakHashMap= " + isNull(wp));
  String sra = "’’,a,b,c";
  System.out.println(sra.split(",")[0]);
  System.out.println("sra= " + isNull(sra.split(",")[0]));
  SortedMap m= new TreeMap();
  System.out.println("SortedMap= " + isNull(m));
  }

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训