java来合并两个对象
来源:互联网 发布:spark 运行java jar包 编辑:程序博客网 时间:2024/06/05 22:27
merge两个对象,互补null,以新对象为主,代码如下
public static Object merge(Objectmaster, Objectfollow){
if(master ==null &&follow ==null)
returnnull;
else if(master == null && null != follow)
returnfollow;
else if(null != master && null == follow)
returnmaster;
else{
Object[] objectNone =new Object[]{};
Class<?> c1 =master.getClass();
Field[] fields =c1.getDeclaredFields();
Method[] methods =c1.getDeclaredMethods();
for(Fieldf :fields){
String fName =f.getName();
Object o1 =null;
Object o2 =null;
for(Methodm :methods){
String mName =m.getName();
if(mName.contains("get") &&mName.equalsIgnoreCase("get"+fName)){
try {
o1 = m.invoke(master, objectNone);
o2 = m.invoke(follow, objectNone);
} catch (Exceptione) {
e.printStackTrace();
}
break;
}
}
o1 = getFitObject(o1,o2);
for (Methodm :methods) {
String mName =m.getName();
if (mName.contains("set") &&mName.equalsIgnoreCase("set" +fName)) {
try {
m.invoke(master,new Object[] {o1 });
} catch (Exceptione) {
e.printStackTrace();
}
break;
}
}
}
}
returnmaster;
}
private static Object getFitObject(Objecto1, Object o2){
if(null ==o1 && null ==o2){
returno1;
}else if(null != o1 && null == o2){
returno1;
}else if(null == o1 && null != o2){
returno2;
}else{
String s1 =o1.toString();
String s2 =o2.toString();
if(s1.equals("0"))//过滤那些int long
s1 = "";
if(StringUtils.isBlank(s1) && StringUtils.isBlank(s2)){
return o1;
}else if(StringUtils.isNotBlank(s1) && StringUtils.isBlank(s2)){
return o1;
}else if(StringUtils.isBlank(s1) && StringUtils.isNotBlank(s2)){
return o2;
}else{
return o1;
}
}
}
- java来合并两个对象
- JAVA两个对象属性合并
- java 两个map对象的合并成一个map对象
- javascript合并两个对象
- java实现两个不同list对象合并后并排序
- Java两个Map合并
- java 合并两个音频文件
- Java:合并两个JSONArray
- hibernate3.0以上使用merge()来合并两个session中的同一对象
- jquery 合并两个 json 对象
- JavaScript合并两个Json对象
- js合并两个json对象
- js合并两个json对象
- js合并两个json对象
- js合并两个json对象
- js合并两个json对象
- js合并两个json对象
- jquery 合并两个 json 对象
- webView loaddata乱码问题
- centos 7上安装python3.5.1和bs4
- 自定义(下拉刷新、上拉加载)帧动画
- 数组里for循环 其实用block 挺简单
- 什么时候ReHash,HashMap的内部实现机制,Hash是怎样实现的 - schbook
- java来合并两个对象
- Jenkins常用插件之email-ext
- java实现银行家算法
- TOMCAT启动错误:严重: Error filterStart
- redis集群 应该注意的问题
- R树空间索引
- # 微信公众号内支付(.Net版本)开发详尽流程分享
- Android开源框架ImageLoader的完美例子
- ASP.NET MVC 页面静态化操作的思路