反射獲取屬性字段及屬性值

上篇文章咱們能夠經過本身的類加載器加載指定類了,在獲取指定類後咱們須要拿到類屬性名稱及類屬性的值。code

獲取屬性字段:get

public static List<Field> getFields(String classPath){
    List<Field> fields = new ArrayList<>();
    try{
        Class clazz = Class.forName(classPath);
        fileds.addAll(Arrays.asList(clazz.getDeclaredFields()));
    }catch(ClassNotFoundException e){
        e.printStaTrace();
    }
    return fields;
}

獲取屬性值:io

public static Field[] getAllFieldValue(Object object){
    Filed[] fields = object.getClass().getDeclaredFields();
    return fields;
}

public static Filed getFieldValue(Object object, String name){
    Field filed = object.getClass().getDeclaredField(name);
    // field.setAccessible(true);
    // String k = filed.getName();
    // Class<?> cl = field.getType();
    // cl.getName();
    // Object v = field.get(object);
    return field;
}

這樣咱們能夠經過反射方法獲取指定類中屬性及屬性值了。class

相關文章
相關標籤/搜索