com.holmos.reflect.reflectCheck.HolmosReflectionComparator Maven / Gradle / Ivy
package com.holmos.reflect.reflectCheck;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
import com.holmos.reflect.reflectCheck.comparator.HolmosComparator;
import com.holmos.reflect.reflectCheck.difference.HolmosDifference;
/**比较两个对象实例的反射比较器
* @author 吴银龙([email protected])
* */
public class HolmosReflectionComparator {
/**
* 比较器的链条,会循环扫描比较器,来进行两个实例的比较,如果在链条里面找不到合适的比较器,则跑出异常
*/
protected List comparators;
/**
* 比较结果的缓存,这样做的话,就会使两个实例的比较只会进行一次,然后比较结果就可以尽心无限次的使用,这是由于不能进行循环比较
* 之所以会定义两个变量,主要是因为我们的比较方式有两种,一种是全比较,另外一种是如果发现了第一个子元素不同,就跳出比较
*/
protected Map