La différence entre égal et == en java
"==" compare deux références dans Que la mémoire pointe vers le même objet (c'est-à-dire le même espace mémoire), c'est-à-dire si les emplacements de stockage dans l'espace mémoire sont cohérents.
equals, couramment utilisé est de savoir si le contenu de l'objet est égal
la méthode Equals est fournie par la classe Object et peut être réécrite par des sous-classes (tutoriel recommandé : tutoriel Java)
public boolean equals(Object obj) { return (this == obj); }
L'implémentation par défaut ne retournera vrai que lorsque l'objet est comparé à lui-même, ce qui équivaut à "==" pour le moment.
De nombreuses classes en Java (classe String, classe Date, classe File) ont réécrit la méthode égale. Voici la classe String commune à titre d'exemple.
public class Test { public static void main(String[] args) { String num1= "abc"; String num2= "abc"; System.out.println(num1==num2);//true String num3 = new String("abc"); String num4= new String ("abc"); System.out.println(num3==mnum4);//false System.out.println(num3.equals(num4));//true } }
La méthode égale dans le langage Java est en fait laissée aux développeurs à remplacer, permettant aux développeurs de définir quelles conditions deux objets remplis sont égaux.
Cela signifie que la méthode égale est exactement la même que "==" ; mais la méthode égale peut être remplacée dans le cas de "==", s'il s'agit d'un type valeur, comparez si les valeurs sont sont égaux ; s'il s'agit d'un type de référence, déterminez que l'adresse de l'objet est égale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!