注意:需要重写实体类的toString方法
public class BeanToArrayUtil {
/**
* 获取对象属性值转成Array
* @param bean
* @return
*/
public static Object[] getFieldBeans(Object bean) {
Map<String, Object> map = beanToArray(bean);
return map.values().toArray(new Object[map.size()]);
}
/**
* 获取对象属性转成Array
* @param bean
* @return
*/
public static String[] getFieldNames(Object bean) {
Map<String, Object> map = beanToArray(bean);
return map.keySet().toArray(new String[map.size()]);
}
private static Map<String, Object> beanToArray(Object bean){
Field[] fields = bean.getClass().getDeclaredFields();
Map<String, Object> map = new HashMap<>();
Field.setAccessible(fields, true);
for (Field field : fields) {
try {
if (field.get(bean) == null) {continue;}
map.put(field.getName(), field.get(bean));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
}