comparePO

private List comparePO(Object object,Object object1) throws DataAccessException{
Method[] methods = object.getClass().getMethods();
Method[] methods1 = object1.getClass().getMethods();
List<String> diffStrList = new ArrayList<String>();
int j=0;
for(int i=0;i<methods.length;i++){
Method method = methods[i];
String methodName = method.getName();
Method method1 = methods1[i];
String methodName1 = method1.getName();
if(methodName.startsWith("get")&&!methodName.endsWith("Str")&&
!methodName.startsWith("getClass")){
String fieldName = methodName.substring(3);
fieldName = fieldName.substring(0,1).toLowerCase()+fieldName.substring(1);
String returnType = method.getReturnType().getName();
String fieldName1 = methodName1.substring(3);
fieldName1 = fieldName1.substring(0,1).toLowerCase()+fieldName1.substring(1);
// String returnType1 = method1.getReturnType().getName();
try {
if(returnType.equals("java.lang.String")){
String value = (String)method.invoke(object,null);
String value1 = (String)method1.invoke(object1,null);
if(value!=null&&value1!=null){
value = com.cvicse.util.StringUtil.trim(value);
value1 = com.cvicse.util.StringUtil.trim(value1);
if(!value.equals(value1)){
diffStrList.add(fieldName);
j++;
}
}
}else if(returnType.equals("java.util.Date")){
Date value = (Date)method.invoke(object,null);
Date value1 = (Date)method.invoke(object1,null);
if(value!=null&&value1!=null){
String date = com.cvicse.appgen.util.DateUtil.getFormatedDateString(value);
String date1 = com.cvicse.appgen.util.DateUtil.getFormatedDateString(value1);
if(!date.equals(date1)){
diffStrList.add(fieldName);
j++;
}
}
}else if(returnType.equals("java.lang.Long")){
Long value = (Long)method.invoke(object,null);
Long value1 = (Long)method.invoke(object1,null);
if(value!=null&&value1!=null){
if(!value.equals(value1)){
diffStrList.add(fieldName);
j++;
}
}
}else if(returnType.equals("int")){
Integer value = (Integer)method.invoke(object,null);
Integer value1 = (Integer)method.invoke(object1,null);
if(value!=null&&value1!=null){
if(!value.equals(value1)){
diffStrList.add(fieldName);
j++;
}
}
}else if(returnType.equals("double")||returnType.equals("java.lang.Double")){
Double value = (Double)method.invoke(object,null);
Double value1 = (Double)method.invoke(object1,null);
if(value!=null&&value1!=null){
if(Double.compare(value, value1)!=0){
diffStrList.add(fieldName);
j++;
}
}
}

} catch (IllegalAccessException e) {
throw new DataAccessException(e);
} catch (InvocationTargetException e) {
throw new DataAccessException(e);
}
}
}
return diffStrList;

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值