java中使用反射将javaBean转为map
2019-01-04 17:35
357 查看
查阅资料遇到一个javaBean转为map的方法,在此记录一下:
public static Map<String, Object> javaBean2Map(Object bean) throws IllegalAccessException { Map<String, Object> result = new HashMap<>(); Class<?> sourceClass = bean.getClass(); //拿到所有的字段,不包括继承的字段 Field[] sourceFiled = sourceClass.getDeclaredFields(); for (Field field : sourceFiled) { field.setAccessible(true); //设置可访问,不然拿不到private FieldName fieldName = field.getAnnotation(FieldName.class); if (fieldName == null) { result.put(field.getName(), field.get(bean)); } else { if (fieldName.Ignore()) continue; result.put(fieldName.value(), field.get(bean)); } } return result; }
代码中的FieldName是新建的类:
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) public @interface FieldName { String value() default ""; boolean Ignore() default false; }
测试用例:
public static void main(String[] args) throws IllegalAccessException { Employee employee = new Employee(); employee.setBirthDay(new Date()); employee.setEmplId("1000"); employee.setEmplName("信息技术部"); employee.setEmplName("张三"); Map<String,Object> map= javaBean2Map(employee); Set<String> keySet = map.keySet();
System.out.println("employee转为map后的输出结果:");
for (String key:keySet
) {
System.out.println("key:"+key+" value:"+map.get(key));
}
}
测试结果:
相关文章推荐
- 通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
- 使用java8的lambda将list转为map
- 基于java反射的javabean和map相互转换的工具类
- 使用java8的lambda将list转为map(转)
- 使用java 反射,对类中成员变量赋值.将Json对像转为Java对像
- 基于Java反射的map自动装配JavaBean工具类设计
- Java使用反射来获取Map的泛型信息
- java 使用反射转换对象 Object to Map
- 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型
- Java 通过反射原理,通过Map转为Java POJO对象,适用于对象包含List,Map,数组等
- java map转javaBean 反射参数异常处理
- 基于java反射的javabean和map相互转换的工具类
- 使用java8的lambda将list转为map(转)
- 使用java8的lambda将list转为map(转)
- java 使用反射转换对象 Object to Map
- 使用第三方工具,将JavaBean对象或者List<JavaBean/String/Integer>或Set或Map对象转成JSON
- JAVA中Map集合的使用举例
- 使用反射机制将纯Java对象放入数据库中
- JAVA中Map集合的使用举例
- java map 使用详解