negar metodo equalsignorecase enteros contrario comparar como java equals

equalsignorecase - metodo equals string java



Objects.equals y Object.equals (2)

La diferencia es que Objects.equals() considera que dos nulos son "iguales". El pseudo código es:

  1. si ambos parámetros son null o el mismo objeto, devuelva true
  2. Si el primer parámetro es null devuelve false
  3. devuelva el resultado de pasar el segundo parámetro al método equals() del primer parámetro

Esto significa que es "seguro nulo" (a pesar de la implementación no nula segura del método equals() del primer parámetro).

Intento crear una clase de tupla que permite una estructura similar a una tupla en Java. El tipo general para dos elementos en la tupla es X e Y respectivamente. Intento anular un igual correcto para esta clase.

Lo que pasa es que sé que Object.equals cae en un valor predeterminado que aún se compara en base a referencias como "==", por lo que no estoy tan seguro de poder usar eso. Miré en Objetos y hay un igual () en él. ¿Este todavía se compara con las referencias, o se compara con los contenidos?

Imaginé rápidamente la declaración de retorno como algo así como:

return Objects.equals(compared.prev, this.prev) && Objects.equals(compared.next, this.next);

Donde anterior y siguiente son elementos de la tupla. ¿Funcionaría esto?


Objects.equals simplemente llama a sus primeros argumentos el método de .equals. En java, si desea poder probar la igualdad en instancias de una clase que creó, entonces debe anular el método de iguales. instance.equals () solo usa == si ese tipo de instancias no anula el método equals.