反射泛型对象

/*
	 * 获取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;
    }  

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值