zoukankan      html  css  js  c++  java
  • 反射泛型对象

    /*
    	 * 获取T对象的字段和字段值
    	 */
    	public ArrayList<Reflect> GetClassFieldAndValue(T t) {  
            if (t == null) return null;  
            ArrayList<Reflect> arrayList=new ArrayList<Reflect>();
            
            Field[] fields = t.getClass().getDeclaredFields();  
            for (int j = 0; j < fields.length; j++) {  
            	Reflect reflect=new Reflect();
                fields[j].setAccessible(true);  
                // 字段名  
                reflect.setField(fields[j].getName());
                // 字段值  
                try {
    				reflect.setValue(fields[j].get(t));
    			} catch (IllegalArgumentException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			} catch (IllegalAccessException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			} 
                arrayList.add(reflect);
    //            if (fields[j].getType().getName().equals(  
    //                    java.lang.String.class.getName())) {  
    //                // String type  
    //                try {  
    //                	reflect.setValue(fields[j].get(t));
    //                } 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 {  
    //                	reflect.setValue(fields[j].get(t)); 
    //                } catch (IllegalArgumentException e) {  
    //                    // TODO Auto-generated catch block  
    //                    e.printStackTrace();  
    //                } catch (IllegalAccessException e) {  
    //                    // TODO Auto-generated catch block  
    //                    e.printStackTrace();  
    //                }  
    //            }  
                // 其他类型。。。  
            }  
            return arrayList;
        }  
    

      

  • 相关阅读:
    C#笔记(Hex转JPG)
    rpm 和 yum 软件管理
    名称空间和作用域
    网络技术管理和进程管理
    RAID磁盘阵列
    CentOS7系统启动流程:
    磁盘lvm管理
    面向对象 异常处理
    自定义函数和调用函数 return返回值
    Python常用模块
  • 原文地址:https://www.cnblogs.com/ruiati/p/3326322.html
Copyright © 2011-2022 走看看