比较两个对象属性及属性值

Posted jassy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较两个对象属性及属性值相关的知识,希望对你有一定的参考价值。

import java.lang.reflect.Method;
private static Object getFieldValue(Object thisClass, String fieldName)  
       {  
           Object value = new Object();  
           Method method = null;  
           try {  
               String methodName = fieldName.substring(0, 1).toUpperCase()+ fieldName.substring(1);  
               method = thisClass.getClass().getMethod("get" + methodName);  
               value = method.invoke(thisClass);  
           } catch (Exception e) {  
               e.printStackTrace();  
           }    
           return value;  
       }  
public static void main(String args[]) {
        AuthServiceAuthorizeDO authserviceauthorizedo = new AuthServiceAuthorizeDO();
        authserviceauthorizedo.setSv_gis_certified("1");
        authserviceauthorizedo.setSv_gusername("2");
        authserviceauthorizedo.setId("0");
        YongHu yonghu = new YongHu();
        yonghu.setUsername("bbbbb");
        yonghu.setIs_certified("aaaaaaaaaaa");
        yonghu.setId("ddddddddddd");
        Field[] fields1 = authserviceauthorizedo.getClass().getDeclaredFields();//获取属性名称数组  
        Field[] fields2 = yonghu.getClass().getDeclaredFields();//获取属性名称数组  
        for (int i = 0; i < fields1.length; i++) {  
            Object valueObj1 = getFieldValue(authserviceauthorizedo ,fields1[i].getName());//获取属性值            
            for (int j = 0; j < fields2.length; j++) {  
                Object valueObj2 = getFieldValue(yonghu ,fields2[j].getName());//获取属性值
                if(fields1[i].getName().equals("sv_g"+fields2[j].getName())){
                    switch (String.valueOf(valueObj1)) { 
                    case "0":
                        System.out.println("---");
                        break;
                    case "1":  
                        System.out.println(valueObj2);
                        break;
                    case "2":  
                        System.out.println(SensitiveInfoUtils.toConceal(String.valueOf(valueObj2)));
                        break;    
                    }
                }
            }
        }
}

 

以上是关于比较两个对象属性及属性值的主要内容,如果未能解决你的问题,请参考以下文章

C# 比较两个对象的属性值是不是有改变

c# 比较两个对象的值是不是相等

java两个对象比较属性值

es6之Object扩展及内部属性的总结

java使用反射比较两个bean对象属性值是否相等

关于CSS的个人理解