Vamos dar uma olhada no exemplo primeiro:
A cópia do código é a seguinte:
pacote com.amos;
/**
* @ClassName: EqualTest
* @Description: Comparação de igual e == em java
* @Author: Amosli
*/
classe pública EqualTest {
public static void main (string [] args) {
int a = 1;
flutuar b = 1,0f;
System.out.println (a == b); // true
String c = new string ("hi_amos");
String d = new string ("hi_amos");
System.out.println (c == d); // false
System.out.println (c.equals (d)); // true
}
}
Existem duas maneiras principais de julgar se duas variáveis são iguais em Java: uma é usar o operador == e o outro é usar o método igual para determinar se os dois são iguais.
1). Duas variáveis são iguais, verdadeiro será retornado.
2).
Como mencionado acima, quando a mesma nova string é explicada, == determina se o mesmo retorna false, enquanto igual a retorna true.
A classe String direcionada pelo método Equals, verifique seu código -fonte e você pode descobrir que iguais só podem ser considerados um caso especial de ==.
A cópia do código é a seguinte:
public boolean é igual a (objeto anobject) {
if (this == anObject) {
retornar true;
}
if (anobject instanceof string) {
String anotherstring = (string) anobject;
int n = value.length;
if (n == anototherstring.value.length) {
char v1 [] = value;
char v2 [] = anototherstring.value;
int i = 0;
while (n--! = 0) {
if (v1 [i]! = V2 [i])
retornar falso;
i ++;
}
retornar true;
}
}
retornar falso;
}
O método Equals realmente chama a fórmula discriminante == desde o início e, em seguida, determina se seu valor adicional está correto.