问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何把一个实体类转化成bean

发布网友 发布时间:2022-04-25 05:49

我来回答

1个回答

热心网友 时间:2023-09-20 13:43

在做导入的时候,遇到了需要将map对象转化 成javabean的问题,也就是说,不清楚javabean的内部字段排列,只知道map的 key代表javabean的字段名,value代表值。
那现在就需要用转化工具了。是通用的哦!
首先来看 JavaBean 转化成Map的方法:

[java] view plaincopy
[java]
/**
* 将一个 JavaBean 对象转化为一个 Map
* @param bean 要转化的JavaBean 对象
* @return 转化出来的 Map 对象
* @throws IntrospectionException 如果分析类属性失败
* @throws IllegalAccessException 如果实例化 JavaBean 失败
* @throws InvocationTargetException 如果调用属性的 setter 方法失败
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Map convertBean(Object bean)
throws IntrospectionException, IllegalAccessException, InvocationTargetException {
Class type = bean.getClass();
Map returnMap = new HashMap();
BeanInfo beanInfo = Introspector.getBeanInfo(type);

PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (int i = 0; i< propertyDescriptors.length; i++) {
PropertyDescriptor descriptor = propertyDescriptors[i];
String propertyName = descriptor.getName();
if (!propertyName.equals("class")) {
Method readMethod = descriptor.getReadMethod();
Object result = readMethod.invoke(bean, new Object[0]);
if (result != null) {
returnMap.put(propertyName, result);
} else {
returnMap.put(propertyName, "");
}
}
}
return returnMap;
}
下面是将Map转化成JavaBean对象的方法:

[java] view plaincopy
[java]
/**
* 将一个 Map 对象转化为一个 JavaBean
* @param type 要转化的类型
* @param map 包含属性值的 map
* @return 转化出来的 JavaBean 对象
* @throws IntrospectionException 如果分析类属性失败
* @throws IllegalAccessException 如果实例化 JavaBean 失败
* @throws InstantiationException 如果实例化 JavaBean 失败
* @throws InvocationTargetException 如果调用属性的 setter 方法失败
*/
@SuppressWarnings("rawtypes")
public static Object convertMap(Class type, Map map)
throws IntrospectionException, IllegalAccessException,
InstantiationException, InvocationTargetException {
BeanInfo beanInfo = Introspector.getBeanInfo(type); // 获取类属性
Object obj = type.newInstance(); // 创建 JavaBean 对象

// 给 JavaBean 对象的属性赋值
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (int i = 0; i< propertyDescriptors.length; i++) {
PropertyDescriptor descriptor = propertyDescriptors[i];
String propertyName = descriptor.getName();

if (map.containsKey(propertyName)) {
// 下面一句可以 try 起来,这样当一个属性赋值失败的时候就不会影响其他属性赋值。
Object value = map.get(propertyName);

Object[] args = new Object[1];
args[0] = value;

descriptor.getWriteMethod().invoke(obj, args);
}
}
return obj;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玩GTA4时我的画面看别的地方都是黑的就只有我这一小范围能看的见!怎么... 金貂换酒的意思金貂换酒的近反义词 4.5×9/9等于几分之几? 9-3×5/9怎么计算? 0.3*5/9等于几分之几? "过了这个村就没了这个店 "的下一句是什么? 过了这个村没这个店下一句怎么接搞笑 过了这个村就没有这个店的下一句 “人权”是什么意思? 袁天沛个人作品 java如何把Object中的数据转化为String数组 怎么通过url吧json对象转化为实体类对象 java 数组 Object 转成 String 用java实现 xml文件转实体类 实体类集合转object集合 代码:List&lt;Object&gt; mapList = this.operatorManService.getAllStations(); Error:(14, 12) java: 不兼容的类型: Object无法转换为Person java中 如何 根据Class&lt;?&gt; 对象,将Object转换成对应的类型 object类型怎么转为普通对像类型 在java,各种类型之间的强制转换会影响系统的性能吗?如:一个Object对象强制转换成User的一个实体类。 跪求JAVA QBC查询中返回的Object[]如何自动转成实体对象??? java中的object自动转换成原来的类型 java Object 转 对象 类型 如何用C#将AFM3中的AsObject转换成C#实体类 object转换成实体类的问题 java 如何将List&lt;Object[]&gt;转换成List&lt;实体&gt;? 财产保全保险公司担保吗 怎么把Object 类 转换 成 实体类 User 在昆山停电了,怎么查来电号码? 诉讼财产保全责任保险期限条款中是怎么规定的 昆山市成明路今天有限电吗? 有什么软件让微信的钱变多 现在有的软件可以把微信红包里的钱弄好多,这是什么软件呢? 用什么软件可以把微信零钱变的无限多怎么用都用不完谢谢 我的微信钱包钱变多了,是这么回事? 微信钱包会出现钱多的现象吗 黑头白头、粉刺闭口用什么护肤品可以改善? 新西兰K奶和A奶有什么区别呢? 理肤泉k乳 ai b5的使用顺序 谁用过理肤泉的那个K乳啊,效果到底怎么样,不要广 K乳可以去眼睛下面的脂肪粒么 法国知名药妆有哪些? 请问大家有没有性价比比较高的乳液推荐~ 什么护肤品对闭口有用 理肤泉k乳是什么味道 哪些护肤品去闭口有效果? 用理肤泉的k乳要注意避光吗?为什么? 为什么中老l年乳l加力比G k乳l加力要贵啊? 进口牛奶去哪里买比较好?? 鲜制奶油的奶油历史 植脂未就是奶精吗