Jetons un coup d'œil à l'exemple d'abord:
La copie de code est la suivante:
package com.amos;
/ **
* @Classname: Equaltest
* @Description: comparaison de l'égalité et == en java
* @author: Amosli
* /
classe publique EqualTest {
public static void main (String [] args) {
int a = 1;
float 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
}
}
Il existe deux façons principales de juger si deux variables sont égales en Java: l'une consiste à utiliser l'opérateur ==, et l'autre consiste à utiliser la méthode égale pour déterminer si les deux sont les mêmes.
1). Deux variables sont égales, vraies seront retournées.
2).
Comme mentionné ci-dessus, lorsque la même nouvelle chaîne est expliquée, == détermine si le même renvoie faux, tandis que l'égalité est renvoyée true.
La classe de chaîne ciblée par la méthode Equals, vérifiez son code source et vous pouvez constater que les égaux ne peuvent être considérés que comme un cas spécial de ==.
La copie de code est la suivante:
booléen public est égal (objet anobject) {
if (this == anobject) {
Retour Vrai;
}
if (anobject instanceof string) {
String anotherstring = (String) anObject;
int n = value.length;
if (n == anotherstring.value.length) {
char v1 [] = valeur;
char v2 [] = anotherstring.value;
int i = 0;
tandis que (n--! = 0) {
if (v1 [i]! = v2 [i])
retourne false;
i ++;
}
Retour Vrai;
}
}
retourne false;
}
La méthode équivalente appelle en fait la formule == discriminante depuis le début, puis détermine si sa valeur supplémentaire est correcte.