Tengo una clase con más de 20 Strings e Ints. Estoy comparando el mismo valor de cada miembro con dos instancias. No es necesario comparar todas las cadenas, pero sí la mayoría. Estoy usando esto para todas las cadenas en un método isEqual:
return instance1.getCar().equalsIgnoreCase(instance2.getCar()) && instance1.getHouse().equalsIgnoreCase(instance2.getHouse()) && instance1.getPet().equalsIgnoreCase(instance2.getPet())...Checkstyle está diciendo:
La Complejidad Ciclomática es 17 (el máximo permitido es 10). (67:5) [Complejidad Ciclomática]
¿Existe una forma más limpia de comparar ciertas variables miembro de la misma clase en dos instancias? Gracias
Puedes ir con muchos
return Objects.equals( instance1.getCar(), instance2.getCar() ) && Objects.equals( instance1.getHouse(), instance2.getHouse() ) o alternativamente use el proyecto Lombok, anotando su clase con @EqualsAndHashCode y luego coloque @EqualsAndHashCode.Exclude en los campos que no desea comparar.