caiyu同学提出了重构equals方法的办法来比较对象的属性值,我把采用反射的方式比较属性值的办法列出来,探讨一下
objectequeasutil
这个方法比较的是两个相同类的对象之间的特定属性是否相同。
扩展一下,再做一个内部类,叫PP,只要PP里面有getP1()和getP2()的方法,一样可以对比。
再扩展一下,objectDOEquals(Object a, Object b, String[] props)里面传入的参数改成Object[] obs,String[] props,这样可以比较任意多个对象的任意多个属性是否相等了。
这么做的好处是无需重构待比较的类,可比较任意方法,较有通用性。
(为了节省版面,代码里面注释全部去掉了,声明常量的地方不符合编码规范)