La función igual se ha definido en el objeto de clase base. El código fuente es el siguiente.
Copie el código de código de la siguiente manera:
público booleano es igual (Objeto obj) {
retorno (esto == obj);
}
Se puede ver en el código fuente que el método igual predeterminado () es consistente con "==". Son referencias a los objetos que se comparan, no a los valores del objeto (esto es consistente con nuestro sentido común de que igual () es. se utiliza para comparar objetos. La razón es que la mayoría de las clases en Java han anulado el método igual () El siguiente es un ejemplo de la clase String. El código fuente del método igual () de la clase String es el siguiente:)
[Java]
Copie el código de código de la siguiente manera:
/** El valor se utiliza para el almacenamiento de caracteres */
valor de carácter final privado [];
/** El desplazamiento es el primer índice del almacenamiento que se utiliza */.
compensación int final privada;
/** El recuento es el número de caracteres de la cadena */.
recuento de int final privado;
[java] ¿ver copyprint simple?
público booleano es igual (Objeto unObjeto) {
si (este == unObjeto) {
devolver verdadero;
}
if (una instancia de objeto de cadena) {
Cadena otraCadena = (Cadena)unObjeto;
int n = contar;
if (n == otra cadena.count) {
char v1[] = valor;
char v2[] = otraCadena.valor;
int i = desplazamiento;
int j = otra cadena.offset;
mientras (n-- != 0) {
si (v1[i++] != v2[j++])
devolver falso;
}
devolver verdadero;
}
} //www.software8.co
devolver falso;
}
Equals() de la clase String es muy simple, simplemente convierte la clase String en una matriz de caracteres y la compara bit a bit.
En resumen, al utilizar el método equals() debemos prestar atención a:
1. Dado que igual () se aplica a un objeto personalizado, debe anular el método igual () del sistema en la clase personalizada.
2. Un poco de conocimiento, un gran problema.