本文主要是介绍将javabean对象转换成MapString,Object类型对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路是采用反射机制,直接获取对象所有字段,遍历的时候在map里put进每个字段的值
public static void transformBeanToMap(Object object,Map<String, Object>map) throws IllegalArgumentException, IllegalAccessException {Field[] declaredFields = object.getClass().getDeclaredFields();for(Field field:declaredFields){field.setAccessible(true);Object value = field.get(object);map.put(field.getName(), value);}}
Field[] declaredFields = object.getClass().getDeclaredFields();
这行代表获取对象所有自己定义的字段,包括被private修饰的字段,如果实现了序列化接口,还会多一个serialVersionUID字段。
field.setAccessible(true);这行如果不加,会报错误一个带有private的错误。
然后就是通过get方法获取字段属性,最后把字段的名称作为key,value作为值存在map里。
当然这些都是最基本的,实际应用中会出现各种需求状况,所以可以在此基础上扩展封装。。。
这篇关于将javabean对象转换成MapString,Object类型对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!