Как спросил @DawoodibnKareem, я опубликую решение:
Причина, по которой всегда получается "false" в if ( implsNaConfig.equals(implsNoApto) )
, потому что в моем классе CcustoPrestadorOuImplDTO
не реализован метод equals
.
Итак, я отредактировал файл класса и автоматически сгенерировал метод equals, и он сработал.
Метод equals в классе CCustoPrestadorOuImplDTO:
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CcustoPrestadorOuImplDTO that = (CcustoPrestadorOuImplDTO) o;
return Objects.equals(cdCcusto, that.cdCcusto) &&
Objects.equals(deCcusto, that.deCcusto) &&
Objects.equals(grupoOperativo, that.grupoOperativo) &&
Objects.equals(deGrupoOperativo, that.deGrupoOperativo);
}
И этометод HashCode ():
@Override
public int hashCode() {
return Objects.hash(cdCcusto, deCcusto, grupoOperativo, deGrupoOperativo);
}
Это действительно просто, но я даже не думал, что это было причиной проблемы.
Спасибо всем.