Я использую инструмент unitils для глубокого сравнения объектов через ReflectionComparator
:
ReflectionComparatorMode[] modes = {ReflectionComparatorMode.LENIENT_ORDER, ReflectionComparatorMode.IGNORE_DEFAULTS};
ReflectionComparator comparator = ReflectionComparatorFactory.createRefectionComparator(modes);
Difference difference = comparator.getDifference(oldObject, newObject);
Оказывается, это ReflectionComparator
не игнорирует регистр в значениях String
полей. И для этого в ReflectionComparatorMode
enum нет специального режима:
public enum ReflectionComparatorMode {
IGNORE_DEFAULTS,
LENIENT_DATES,
LENIENT_ORDER
}
Любые идеи, как это может быть достигнуто?