티스토리 뷰

Skill/spring

convertDtoToMap

진열사랑 2023. 5. 18. 16:40

public Map<String, Object> convertDtoToMap(Object dto) {
     Map<String, Object> map = new HashMap<>();
                 Array.asList(dto.getClass().getDeclaredFeild()).stream().filter(field -> field.getAnnotation(ExcelFeild.class) != null)
.forEach(field -> {
        field.setAccessible(true);
        try {
             map.put(field.getName(), getValue(field.get(dto)));
        } catch (IllegalAccessException e) {
            log.error("convertDtoToMap Error : {}", e.getMessage());
            map.put(field.getName(), "");
        }
});

    return map;
}

private String getValue(Object value) {
        if (ObjectUtil.isEmpty(value)) return "";
        if (Number.class.isAssignableFrom(value.getClass())) {
                return NumberFormat.getInstance().format(value);
        } else if (value instanceof Boolean) {
                return String.valurOf(value);
        } else {
                return StringUtils.defaultString((String) value);
        }
}

'Skill > spring' 카테고리의 다른 글

Boolean과 boolean의 차이  (0) 2023.07.27
instanceof 와 Class.isAssignableFrom 의 차이점  (0) 2023.05.18
Arrays.copyOfRange  (0) 2023.03.21
Mybatis- xml파일에서 java 상수 사용  (0) 2023.02.27
spring- ServiceInit  (0) 2023.02.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함