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("----------
");
				}
			} catch (Throwable e) {
				System.err.println(e);
			}
		}

	}

}

 http://blog.csdn.net/justinavril/article/details/2873664

http://blog.csdn.net/rugaxm/article/details/8524639 

原文地址:https://www.cnblogs.com/bigben0123/p/4136764.html