Parece que hashCode() y equals() se declaran como finales. Por lo tanto, anular la implementación no es posible. También establece que equals() devuelve verdadero si los objetos son idénticos a JavaScript (triple-igual). No estoy muy seguro de lo que significa crear dos JavaScriptObjetos idénticos en GWT y compararlos con equals() devuelve falso. También parece que hashcode() usa un contador monótonamente creciente para asignar un código hash al objeto JavaScript subyacente. Si quisiera almacenar JavaScriptObjects en un conjunto, esto complicaría las cosas. Cualquier ayuda sería muy apreciada.¿Cuál es la mejor manera de comparar dos objetos JavaScript en GWT?
6
A
Respuesta
5
Depende de qué criterios de igualdad desee usar para su situación.
- Si desea identidad de objeto, puede usar los valores predefinidos equals() y hashCode() - y colocar los objetos JavaScript directamente en un HashSet.
- Si necesita una noción de igualdad diferente, puede escribir su propio comparador y colocar los objetos JavaScript en, p. Ej. un TreeSet, creado por el nuevo
TreeSet(comparator)
. - Si necesita colocar JavaScriptObjects en un HashSet (no en un TreeSet), y aún necesita una noción de igualdad diferente, no puede colocar los JavaScriptObjects directamente en el conjunto. Entonces tendría que escribir una clase contenedora, que contiene el JavaScriptObject, e implementa equals() y hashCode().
Cuestiones relacionadas
- 1. ¿Cuál es la mejor manera de dividir dos objetos TimeSpan?
- 2. ¿Cuál es la mejor manera de comparar varias propiedades javabean?
- 3. ¿Cuál es la mejor manera de comparar programas en Windows?
- 4. ¿Cuál es la mejor manera de comparar Double e Int?
- 5. ¿Cuál es la mejor manera de probar el código GWT
- 6. ¿Cuál es la mejor manera de comparar cadenas hash? (PHP)
- 7. ¿Cuál es la mejor manera de comparar dos colecciones en Java y actuar sobre ellas?
- 8. ¿Cuál es la mejor manera de implementar params en JavaScript?
- 9. Ruby on Rails: ¿la mejor manera de comparar dos fechas?
- 10. ¿Cuál es la mejor manera de hacer bucles en JavaScript
- 11. ¿Cuál es la mejor manera de "fusionar" dos objetos y sus asociaciones en rieles?
- 12. ¿Cuál es la mejor manera de recortar() en javascript
- 13. ¿Es posible comparar dos imágenes en Javascript?
- 14. ¿Cuál es la mejor manera de concatenar dos vectores?
- 15. C# la mejor manera de comparar dos veces del día
- 16. ¿Cuál es la mejor manera de unir dos objetos durante el tiempo de ejecución usando C#?
- 17. Comparar dos objetos y encontrar las diferencias
- 18. ¿Cuál es la mejor manera de incluir Javascript?
- 19. ¿Cuál es una forma eficiente de comparar objetos StringBuilder?
- 20. ¿Cuál es la mejor manera de diseñar un servidor GWT "independiente de la plataforma"?
- 21. ¿Cuál es la mejor manera de probar javascript?
- 22. ¿Cuál es la mejor manera de comparar 2 árboles de carpetas en Windows?
- 23. ¿Cuál es la mejor manera de comparar la igualdad de dos DateTime en C# ... pero solo con cierta precisión?
- 24. ¿Cuál es la mejor manera de serializar objetos JavaScript a XML?
- 25. ¿Cuál es la forma más rápida de comparar dos objetos en PHP?
- 26. ¿Cuál es la mejor manera de afirmar la igualdad numpy.array?
- 27. Comparar dos imágenes en JavaScript
- 28. ¿Es mejor usar XNodeEqualityComparer o XElement.DeepEquals para comparar objetos xml?
- 29. ¿Cuál es la mejor manera de comparar las fechas en Perl?
- 30. ¿Cuál es la forma más sencilla de comparar dos objetos google :: protobuf :: Message entre sí?
Gracias por el consejo Chris. – affablebloke
Escribir una clase de contenedor genérico que implemente sus propios equals() y hashCode() fue la solución, ya que estoy usando MultiSelectionModel de GWT y las partes internas subyacentes de MultiSelectionModel usa HashMap y HashSet. –
affablebloke