美文网首页
Java对象转换成Map

Java对象转换成Map

作者: 哦00 | 来源:发表于2019-02-19 16:54 被阅读0次

    需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来

    首先是Bean

    package tools;import lombok.Data;/** * 车辆实体类

    */@Datapublicclass Car {

        private String id;

        privateString model;//型号privateString color;//颜色privateString volume;//排量privateintyear;//年份}

    然后是主要方法和测试类

    package tools;import java.lang.reflect.Field;import java.util.HashMap;import java.util.Map;publicclass MapTools {

        publicstaticvoidmain(String[] args)throws Exception{

            Car car =new Car();

            car.setId("00000");

            car.setColor("black");

            car.setModel("bmw x5");

            car.setVolume("3.0L");

            car.setYear(2018);

            System.out.println(objectToMap(car));

        }

        /**    * 将Object对象里面的属性和值转化成Map对象

        *

        * @param obj

        * @return    * @throws IllegalAccessException

        */publicstaticMap objectToMap(Object obj)throws IllegalAccessException {

            Map map =newHashMap();

            Class clazz = obj.getClass();

            for (Field field : clazz.getDeclaredFields()) {

                field.setAccessible(true);

                String fieldName = field.getName();

                Object value = StringUtils.nvl(field.get(obj));

                map.put(fieldName, value);

            }

            return map;

        }

    }

    输出

    {volume=3.0L, color=black, year=2018, model=bmw x5, id=00000}                                                                                欢迎工作一到五年的Java工程师朋友们加入Java群: 741514154

    群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

    相关文章

      网友评论

          本文标题:Java对象转换成Map

          本文链接:https://www.haomeiwen.com/subject/vcyfyqtx.html