Si sólo algunos de los campos de un objeto representa el estado real, supongo que estos podrían ser ignorados cuando anulando equals
y hashCode
...Posibles peligros al ignorar algunos campos en equals/hashCode?
puedo obtener una sensación de inquietud acerca de esto, sin embargo, y quería preguntar,
- ¿Es esta práctica común?
- ¿Hay algún riesgo potencial con este enfoque?
- ¿Hay alguna documentación o directrices a la hora de ignorar algunos campos en
equals
/hashCode
?
En mi situación particular, estoy explorando un espacio de estado de un problema. Me gustaría mantener un conjunto de hash de estados visitados, pero también estoy considerando incluir la ruta que lleva al estado. Obviamente, dos estados son iguales, a pesar de que se encuentran por caminos diferentes.
Como ha mencionado, NO incluye la "ruta" en sus iguales o hashCode() –
Me gusta esta respuesta, pero evita un poco mis tres preguntas :-) – aioobe
respondió a sus preguntas. –