package beanutil;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
/**
* 从一个map集合中,拷贝到javaBean中;
* @author mzy
*
*/
public class Demo04 {
public static void main(String[] args) {
try {
/**
* 3)从一个map集合中拷贝到一个javabean中
* 注意:
* 1)只拷贝javabean存在的哪些属性(setXXX方法)
* 2)需要拷贝的数据是数组类型,那么只拷贝数组中的第一个元素。
*
*/
ConvertUtils.register(new DateLocaleConverter(), java.util.Date.class);
Map map = new HashMap();
//map.put("name", "jacky");
map.put("name", new String[]{"jacky","eric"});//字符串数组
map.put("id", "4");
map.put("gender", "true");
// map.put("scroe", "86.43"); // 当不符合javaBean规范的时候,就不会赋值进去,显示的就是默认值
map.put("score", "86.43");
map.put("birth","2015-06-05");
Object s2 = Class.forName("entity.Student").newInstance();
//把一个map的数据拷贝到s2中
BeanUtils.copyProperties(s2, map);
System.out.println(s2);
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException | InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
将MAP复制到对象
最新推荐文章于 2023-06-01 14:52:33 发布