JavaBean转换成Map的几种方式

将JavaBean转换成Map有许多方式,可使用各种JSON框架进行转换,也可用反射方式转换或者使用apache commons包中的BeanUtils.describe(item)方法进行转换,不过此方法会将JavaBean中所有字段的类型都转换为String。

接下来介绍利用JDK 8的新特性及Spring框架的方法(BeanUtils.getPropertyDescriptors()和ReflectionUtils.invokeMethod())进行转换,代码如下:

Arrays.stream(BeanUtils.getPropertyDescriptors(obj.getClass()))
		.filter(itm -> !"class".equals(itm.getName()))
		.collect(HashMap::new,
		(map, pd) -> map.put(pd.getName(), ReflectionUtils.invokeMethod(pd.getReadMethod(), obj)),
		HashMap::putAll);

你可能感兴趣的:(java)