Red de conocimiento de abogados - Derecho de sociedades - La diferencia entre iguales y ==

La diferencia entre iguales y ==

La diferencia entre iguales y == es la siguiente:

== es un operador de comparación que compara valores, mientras que los tipos de datos de referencia comparan valores de direcciones.

(La comparación de valores de dirección se refiere a si son referencias al mismo objeto)

equals() es un método que solo puede comparar tipos de datos de referencia. Lo que se compara antes de reescribir es el valor de la dirección, y lo que se compara después de reescribir son generalmente las propiedades de los objetos que se comparan.

Información ampliada:

Los tipos de datos en Java se pueden dividir en dos categorías:

1. Tipos de datos básicos, también llamados tipos de datos primitivos.

Byte, short, char, int, long, float, double, boolean, para compararlos utiliza el doble signo igual (==), y compara sus valores.

2. Tipo de datos compuestos.

Cuando comparan usando (==), comparan sus direcciones de almacenamiento en la memoria. Por lo tanto, a menos que sean el mismo objeto nuevo, el resultado de su comparación es verdadero. FALSO.

Todas las clases en JAVA heredan de la clase base Objeto. Un método igual se define en la clase base en Objeto. El comportamiento inicial de este método es comparar las direcciones de memoria de los objetos.

Pero este método se ha sobrescrito en algunas bibliotecas de clases, como String, Integer y Date. En estas clases, igual tiene su propia implementación, en lugar de comparar la dirección de almacenamiento de la clase en la memoria del montón. .

Para la comparación igual entre tipos de datos compuestos, sin anular el método igual, la comparación entre ellos aún se basa en el valor de la dirección de su ubicación de almacenamiento en la memoria, porque los métodos iguales del objeto también usan signos dobles iguales (= =) para comparación, por lo que el resultado de la comparación es el mismo que el resultado de los signos dobles iguales (==).