通过反射获取实体的一切属性

来源:互联网 发布:king最新域名 编辑:程序博客网 时间:2024/05/19 12:29
package bea.com.util;import java.lang.reflect.Field;public class reflectUtil {    /**     * 反射输出字段类型的值     * @param obj     */    public static void reflect(Object obj) {          if (obj == null) return;          Field[] fields = obj.getClass().getDeclaredFields();          for (int j = 0; j < fields.length; j++) {              fields[j].setAccessible(true);              // 字段名              System.out.print(fields[j].getName() + ",");              // 字段值              if (fields[j].getType().getName().equals(                      java.lang.String.class.getName())) {                  // String type                  try {                      System.out.print(fields[j].get(obj));                  } catch (IllegalArgumentException e) {                      // TODO Auto-generated catch block                      e.printStackTrace();                  } catch (IllegalAccessException e) {                      // TODO Auto-generated catch block                      e.printStackTrace();                  }              } else if (fields[j].getType().getName().equals(                      java.lang.Integer.class.getName())                      || fields[j].getType().getName().equals("int")) {                  // Integer type                  try {                      System.out.println(fields[j].getInt(obj));                  } catch (IllegalArgumentException e) {                      // TODO Auto-generated catch block                      e.printStackTrace();                  } catch (IllegalAccessException e) {                      // TODO Auto-generated catch block                      e.printStackTrace();                  }              }              // 其他类型。。。          }          System.out.println();      }    /**     * 反射获取对象的Id     * @param obj     * @return     */    public static Integer getIdByreflect(Object obj) {          if (obj == null)            return null;          Field[] fields = obj.getClass().getDeclaredFields();          for (int j = 0; j < fields.length; j++) {              fields[j].setAccessible(true);              // 字段名              System.out.print(fields[j].getName() + ",");              // 字段值              if ( (fields[j].getType().getName().equals(                      java.lang.Integer.class.getName())                      || fields[j].getType().getName().equals("int"))  && fields[j].getName()=="id") {                  try {                    return fields[j].getInt(obj);                } catch (IllegalArgumentException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                } catch (IllegalAccessException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }          }          return null;      }}
0 0