反射泛型对象

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

  

原文地址:https://www.cnblogs.com/ruiati/p/3326322.html