Maison >Java >JavaBase >La différence entre égal et == en Java

La différence entre égal et == en Java

angryTom
angryTomoriginal
2019-11-11 15:18:514472parcourir

La différence entre égal et == en Java

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn