需求总是千奇百怪,对象转成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();
system.out.println(objecttomap(car));
}
/**
* 将object对象里面的属性和值转化成map对象
*
* @param obj
* @return
* @throws illegalaccessexception
*/
public static map objecttomap(object obj) throws illegalaccessexception {
map map = new hashmap();
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=, model=bmw x5, id=00000}
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!