Java对象转换成Map
程序员文章站
2022-05-14 09:49:50
需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来 首先是Bean 然后是主要方法和测试类 输出 ......
需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来
首先是bean
package tools; import lombok.data; /** * 车辆实体类 */ @data public class car { private string id; private string model;//型号 private string color;//颜色 private string volume;//排量 private int year;//年份 }
然后是主要方法和测试类
package tools; import java.lang.reflect.field; import java.util.hashmap; import java.util.map; public class maptools { public static void main(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 */ public static map<string, object> objecttomap(object obj) throws illegalaccessexception { map<string, object> map = new hashmap<string,object>(); 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}