자바 기반 (16) 빈 값 필드 에 반 사 된 기본 빈 문자열 을 사용 합 니 다 (일부 엑셀 생 성 시 사용)

빈 값 필드 에 반 사 된 기본 빈 문자열 을 부여 합 니 다.
  private static Object replaceNull2EmptyChar(Object n) {
        Class<?> clazz = n.getClass();
        //       ,     
        Field[] fields = clazz.getDeclaredFields();
        try {
            for (Field field : fields) {
             //       set/get  ,  setXxxx,getXxxx,   set/get        
                String name = String.valueOf(field.getName().toCharArray()[0]).toUpperCase() + field.getName().substring(1);
                Method method = clazz.getDeclaredMethod("get" + name);
                Object obj = method.invoke(n);
                if (field.getType().getTypeName().equals(String.class.getTypeName()) && StringUtils.isBlank((String) obj)) {
                    //   set  
                    Method declaredMethod = clazz.getDeclaredMethod("set" + name,String.class);
                    //   
                   declaredMethod.invoke(n, StringUtils.EMPTY);
                }
            }
        } catch (Exception e) {
            log.error(" null          ", e);
        }
        return n;
    }

속성 에 대한 설명 가 져 오기 (easyexcel 의 설명)
private List<List<String>> contactSituationhead(Class<?> clazz) {
        List<List<String>> list = Lists.newArrayList();
        List<String> data = Lists.newArrayList();
        //         
        Field[] declaredFields = clazz.getDeclaredFields();
        for (Field declaredField : declaredFields) {
            // ExcelProperty easyexcel      
            ExcelProperty excelProperty = declaredField.getAnnotation(ExcelProperty.class);
            if (excelProperty.value().length > 0) {
                data.add(excelProperty.value()[0]);
            }else{
                data.add(StringUtils.EMPTY);
            }

        }
        list.add(data);
        return list;
    }

좋은 웹페이지 즐겨찾기