• 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 

  • 相关阅读:
    tcl tk lappend
    file join
    [转载]强指针和弱指针
    DisplayHardware
    Android 十大调试方法
    C语言程序的外部变量与函数
    DisplayHardware
    Android 十大调试方法
    wifi连接流程分析
    [转载]强指针和弱指针
  • 原文地址:https://www.cnblogs.com/bigben0123/p/4136764.html
Copyright © 2020-2023  润新知