Necesito una configuración de ejemplo para deshabilitar totalmente el estilo de verificación para los métodos hashCode()
y equals()
.Deshabilitar checkstyle para hashCode e igual a
Respuesta
esto no es realmente una respuesta a su pregunta, pero Lombok realmente brilla en evitar este tipo de código repetitivo: http://projectlombok.org
Para este caso, sólo puede anotar sus clases con:
@EqualsAndHashCode(of="id")
o
@EqualsAndHashCode(excludes={"these","fields","wont","be","compared"})
no lo he probado contra Checkstyle, aunque ...
Parece una respuesta, debe probarla y, si se lleva a cabo, obtendrá el premio –
¡genial! ¡Me alegro de que haya sido útil! :) – elias
sí - esto resuelve el problema de alguna manera ... ¡y se ve genial en el código! –
Consulte EqualsHashCode en Checkstyle 5.5: Coding Config. Basta con retirar la
<module name="EqualsHashCode"/>
de su archivo de configuración Checkstyle, o hacerlo a través del plug-in de Eclipse. Pero me preguntaría por qué estás haciendo esto. La mala implementación de equals() y hashCode() es una fuente común de errores, así que tenga mucho cuidado antes de hacer esto.
Estoy usando eclipe para generarlo. Sé que necesito deshabilitarlo de checkstyle xml; la pregunta es cómo. Me gustaría desactivar cada control de esos métodos. –
@Matthew Farwell: Yo diría que la dependencia excesiva en * hashCode() * y * es igual * es una enfermedad aún peor. Apelar a la autoridad con una cita de * Effective Java * por Joshua Bloch: * "Simplemente no hay forma de extender una clase instanciable y agregar un aspecto mientras se preserva el contrato igual" *. Este es un problema muy conocido, muy documentado y muy real. Se podría argumentar que un hashCode/equals predeterminado es más sensato que lanzar una excepción que tratar de implementar un equals/hashCode "correcto". Martin Odersky sobre el tema: http://www.artima.com/lejava/articles/equality.html – TacticalCoder
@Matthew Farwell: ahora, por supuesto, * uso * * hashCode * y * es igual * y todas las grandes colecciones dependen de estos ... Pero quería señalar cuán escandalosamente difícil es esto frente a la herencia: la explicación del método 'canEqual * en ese artículo de Artima (y las restricciones que impone) me abrió los ojos:) Definitivamente no algo que checkstyle verifica;) – TacticalCoder
Checkstyle in eclipse. Abra Windows -> Preferencias -> Estilo de comprobación.
Si está utilizando la configuración predeterminada, copie a un nombre diferente, seleccione el copiado y haga clic en configurar. Busque iguales y seleccione 'Igual y Hashcode' en problemas de codificación. Desmarque todos los habilitados que no necesita.
Puntee en Aceptar y establézcalo como predeterminado.
Estoy seguro de que Hudson ejecuta el estilo de control contra un conjunto particular de reglas. Simplemente reemplace esas reglas con las que genera utilizando el enfoque anterior. – bluesman
- 1. Hashcode e igual para Hashset
- 2. Objetos JAXB - hashcode e igual a
- 3. hashCode y es igual para Collections.unmodifiableCollection()
- 4. objetos como llaves mapa sin Hashcode y es igual a
- 5. Google App Engine, JDO, y es igual a/hashCode
- 6. ¿Cómo puedo obtener checkstyle para omitir los métodos equals() y hashcode() generados por eclipse?
- 7. ¿Cómo puedo excluir un método (hashcode e igual) del informe de cobertura de trébol?
- 8. Eficiencia del uso de IEqualityComparer en Diccionario vs HashCode e Igual()
- 9. Checkstyle para C#?
- 10. Checkstyle para Python
- 11. ¿Cómo debe una unidad probar el contrato hashCode-igual?
- 12. ¿Cómo distinguir las teclas más/igual e igual en javascript?
- 13. Netbeans + Checkstyle
- 14. Hibernate/JPA es igual a() y hashCode() con Identificador de carga de Lazy Business
- 15. ¿Puedo deshabilitar las reclamaciones de CheckStyle para los métodos y las clases en desuso?
- 16. ¿Cómo definir significativamente hashCode y es igual para java.lang.Class <T>?
- 17. php no es igual a no es igual, igual a
- 18. Maven Checkstyle configLocation ignorado?
- 19. Maven 2 Checkstyle configLocation
- 20. Scala Caso clase es igual a la implementación
- 21. checkstyle + filtros de supresión
- 22. C# hashcode para una matriz de ints
- 23. Maven Checkstyle: Check not working
- 24. Java hashCode para una clase de punto
- 25. ¿Es posible hacer eclipse generate hashCode y es igual con HashCodeBuilder y EqualsBuilder
- 26. ¿Cómo hibernate usa equals() y hashCode()?
- 27. Java: Entero es igual a ==
- 28. estrategias de aplicación hashCode
- 29. Java es igual a(): para reflejar o no para reflejar
- 30. PHP hashCode interna Función
@shaman ¿Qué pasa con la solución de matthews? – oers
El problema es que checkstyle tiende a realizar comprobaciones dentro del código de métodos augogenerados equals() y hashcode(), que generalmente infringen nuestras convenciones de codificación –