# 檢查POJO的屬性名稱 ### 工作上遇到某些屬性有太多不同的命名,需要檢查這些屬性是否為同一個,所以就寫了一個通用的共用程式來檢查 ```java= public static AuditDetailVo transferAuditDetai(Object pojo) { AuditDetailVo result = new AuditDetailVo(); Class<?> cls = pojo.getClass(); try { BeanUtils.copyProperties(result, pojo); for (Field f : cls.getDeclaredFields()) { Field field = cls.getDeclaredField(f.getName()); field.setAccessible(true); if (field.get(pojo) != null) { if (StringUtils.equals(f.getName(), "nation") || StringUtils.equals(f.getName(), "nationOversea")) { result.setNation(field.get(pojo).toString()); } } } } catch (Exception e) { logger.error("", e); } return result; } ``` :::warning 因為屬性都是private,所以一定要用getDeclaredFields() 才能看到該屬性, 並且要將該屬性setAccessible(true); 才能對他進行存取 用get(Object obj)取得該屬性的值 用set(Object obj, Object value)設值給該屬性 ::: ###### tags: java