Object2Map·추출 객체의 속성 및 해당 값은 키 값 쌍입니다.

1256 단어
추출 대상의 속성과 대응하는 값은 키 값 쌍으로 각종 안전 범위와 모든 부류를 포함한다.일부 노이즈 작업은 특정 객체의 속성과 값을 대량 처리해야 합니다(Object에서 Map으로 전환).

    /**
     *  , 
     *
     */
    public static Map getFieldByClasss(Object object) {

        Class clazz=object.getClass();
        Map resutlMap = new LinkedHashMap();
        for (; clazz != Object.class; clazz = clazz.getSuperclass()) {
            Field[] fields = clazz.getDeclaredFields();
            for (Field field : fields) {

                String name = field.getName();    // 
                Object value = getFieldValueByName(name,object);
                 resutlMap.put(name, value);

            }
        }     
        return resutlMap;
    }

    private static Object getFieldValueByName(String fieldName, Object o) {
        try {
            String firstLetter = fieldName.substring(0, 1).toUpperCase();
            String getter = "get" + firstLetter + fieldName.substring(1);
            Method method = o.getClass().getMethod(getter, new Class[] {});
            Object value = method.invoke(o, new Object[] {});
            return value;
        } catch (Exception e) {

            return null;
        }
    }

좋은 웹페이지 즐겨찾기