1. 程式人生 > >java 反射獲取類中所有的屬性(含父類)

java 反射獲取類中所有的屬性(含父類)

直接上程式碼

public static List<Field> getFieldList(Class<?> clazz){
    if(null == clazz){
        return null;
    }
    List<Field> fieldList = new LinkedList<Field>();
    Field[] fields = clazz.getDeclaredFields();
    for(Field field : fields){
        /** 過濾靜態屬性**/
        if
(Modifier.isStatic(field.getModifiers())){ continue; } /** 過濾transient 關鍵字修飾的屬性**/ if(Modifier.isTransient(field.getModifiers())){ continue; } fieldList.add(field); } /** 處理父類欄位**/ Class<?> superClass = clazz.getSuperClass(); if
(superClass.equals(Object.class){ return fieldList; } fieldList.add(getFieldList(superClass)); return fieldList; }