java反射出字段信息和值
/** * */ package test; import java.lang.reflect.Field; import java.lang.reflect.Modifier; /** * @author Administrator * */ public class testmain { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ServiceLaunchPack a = new testmain.ServiceLaunchPack(); a.Catagory = "11111111111111"; a.getFields(a); } public static class ServiceLaunchPack { public String ID; public String Name; public String Catagory; public String Catagory2; public String PreFee; public String Method; public String PubMobile; public String MultiDate; public String Cover; public String Images; public String Content; public String Area; public String Street; public String Address; public String Latitude; public String Longitude; public String Enable; public String Audit; public String CreateTime; public ServiceLaunchPack() { // TODO Auto-generated constructor stub } void getFields(ServiceLaunchPack obj) { try { if (obj == null) return; Field[] fieldlist = obj.getClass().getDeclaredFields(); for (int i = 0; i < fieldlist.length; i++) { Field fld = fieldlist[i]; System.out.println("decl class = " + fld.getDeclaringClass()); System.out.println("type = " + fld.getType()); int mod = fld.getModifiers(); System.out.println("modifiers = " + Modifier.toString(mod)); // int i = i; fieldlist[i].setAccessible(true); // 字段值 if (fieldlist[i].getType().getName().equals(java.lang.String.class.getName())) { // String type try { //字段名 System.out.print( fld.getName()+" = " ); System.out.println(fieldlist[i].get(obj)); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (fieldlist[i].getType().getName().equals(java.lang.Integer.class.getName()) || fieldlist[i].getType().getName().equals("int")) { // Integer type try { System.out.println(fieldlist[i].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("----------\n"); } } catch (Throwable e) { System.err.println(e); } } } }
http://blog.csdn.net/justinavril/article/details/2873664
http://blog.csdn.net/rugaxm/article/details/8524639