合并两个相同对象的属性值,类似于js的extend方法.doc
文本预览下载声明
合并两个相同对象的属性值,类似于js的extend方法
合并两个相同对象的属性值,类似于js的extend方法
小姚 发布于 2012年04月03日 1时, 10评/677阅 分享到 新浪微博腾讯微博收藏+3 踩 顶 0
合并两个相同对象的属性值,类似于js的extend方法
标签: 无 代码片段(1)
[代码] [Java]代码
view sourceprint?001 //大家帮忙看看,提点意见
002 package cn.utils;
003
004 import java.beans.BeanInfo;
005 import java.beans.IntrospectionException;
006 import java.beans.Introspector;
007 import java.beans.PropertyDescriptor;
008 import java.lang.reflect.InvocationTargetException;
009 import java.sql.Timestamp;
010 import java.text.ParseException;
011 import java.text.SimpleDateFormat;
012 import java.util.ArrayList;
013 import java.util.Date;
014 import java.util.Iterator;
015 import java.util.List;
016 import java.util.Map;
017 import java.util.regex.Pattern;
018
019 import mons.beanutils.BeanUtils;
020
021
022 public class ExtendObject {
023
024 /**
025 * 将相同类型的对象的内容向右合并
026 * @param beanType 返回对象的类型
027 * @param initObject 包含原始数据的对象
028 * @param updateObject 包含修改后数据的对象
029 * @return 返回两个对象的合并,相同属性的值如果convertedObject中包含,且不为null的话取它的值,否则取returnedObject的值
030 */
031 @SuppressWarnings(unchecked)
032 public Object extendObject(Object beanType, Object initObject, Object updateObject){
033 Map map1 = BeanToMap(initObject);
034 Map map2 = BeanToMap(updateObject);
035 List list = getMapKeySet(map1);
036 for(int i=0; ilist.size(); i++){
037 Object map2Value = map2.get(list.get(i));
038 if(null!=map2Value){
039 map1.put(list.get(i), map2Value);
040 }
041 }
042 return MapToBean(beanType, map1);
043 }
044
045 /**
046 * 将map转化为bean
047 * @param bean 将要转化成为的对象
048 * @param map 被转化的map对象
049 */
050 @SuppressWarnings(unchecked)
051
显示全部