equals()
método está disponible para todas las clases de colección java de la clase Object
. Este método también se declara en la interfaz Comparator
, entonces, ¿cuál es el propósito de declarar este método en el Comparador? ¿En qué caso se usa y cómo?uso del método equals() en la interfaz del comparador?
Respuesta
-cuando Comparador declarar se compara con otro objeto (argumento)
cuál es el propósito de declarar este método en Comparador?
creo que es la forma que tiene el diseñador de destacar el hecho de que Comparator.equals()
impone algunas additional requirements en las clases que implementan la interfaz:
Además, este método puede devolver
true
sólo si el objeto especificado es también una comparador e impone el mismo orden que este comparador. Por lo tanto,comp1.equals(comp2)
implica quesgn(comp1.compare(o1, o2))==sgn(comp2.compare(o1, o2))
para cada referencia de objetoo1
yo2
.
El método se puede utilizar para establecer si dos comparadores distintos imponen el mismo orden o no.
Desde el javadoc
en cuenta que es siempre segura no para anular Object.equals (Objeto). Sin embargo, anular este método puede, en algunos casos, mejorar el rendimiento al permitir que los programas determinen que dos comparadores distintos imponen el mismo orden.
La idea es simplemente poder permitirte no ordenar una colección que ya ha sido clasificada por otro comparador si te das cuenta de que el resultado final será el mismo.
En general, tuvo poco uso, pero cuando se ordenan colecciones muy grandes, es algo que tal vez desee examinar.
Es solo una forma omitida del método Equals del objeto para hacerle saber si dos objetos son del mismo tipo de comparador.
creo que la razón principal es dejar claro que equals
método es para probar la Comparator
sí. Esto es obvio cuando lo piensas, pero me imagino que algunas personas pueden esperar que equals(Object)
(de alguna manera) se relacionen semánticamente con el método compare(T, T)
.
También permite la documentación de algunas pautas de sentido común para cuando dos comparadores se pueden ver como iguales.
De cualquier manera, la presencia del método equals(Object)
en la interfaz es únicamente con fines de documentación.
Según su pregunta, creo que se utiliza para comparar objetos después de la conversión en cadena. Métodos eqlas de la clase de objeto chek ambos Objeto son eqls o no Y el método Competes datos de objeto chek como Hello.eqlas ("hello")
- 1. Sobrescribir la peculiaridad del método java equals()
- 2. Mejor práctica del comparador
- 3. Uso del comparador para ordenar ArrayList Java
- 4. el "es" palabra clave y la anulación del método Equals
- 5. tipo groovy con la sintaxis del comparador
- 6. ¿Cuál es el comportamiento predeterminado del Método Equals?
- 7. ¿Por qué el comparador declara iguales?
- 8. Uso mangosta del método .select()
- 9. Uso apropiado del método estático
- 10. Sobrescribe la implementación del método declarada en una interfaz
- 11. ¿Cuál es el uso del método ConvertBack en la interfaz IValueConverter?
- 12. Java TreeMap (comparador) y obtienes el método ignorando el comparador
- 13. Comparador de interfaz Java estático compare
- 14. Optimizar el método equals()
- 15. Uso del navegador para la interfaz de usuario de escritorio
- 16. ¿Deberíamos @Override la implementación del método de una interfaz?
- 17. Implementar enum en C# interfaz y en una de firma del método de interfaz
- 18. Problema con NSSortDescriptor usando comparador personalizado a través del selector
- 19. Cómo obtener la lista del conjunto y el comparador
- 20. ¿Cómo forzar el uso del método de extensión en lugar del método de instancia con params?
- 21. Uso del controlador Android
- 22. Implementando el método equals en java
- 23. Reemplazando el método Equals en Structs
- 24. ¿Por qué método equals() cuando tenemos == operador?
- 25. cuál es el uso del método recycle() en TypedArray
- 26. uso del método setOrientation en un objeto LinearList
- 27. Uso del método dinámico C# para un objeto
- 28. ¿Cuál es el uso del método printStackTrace() en Java?
- 29. Obligar a una clase a anular el método .equals
- 30. Ignorar el método equals no funciona