[JAVA] Différence entre l'opérateur == et la méthode eqals

Domo est Fugito.

Cette fois, c'est un petit mémorandum.

Quelle est la différence entre l'opérateur == et la méthode égale?

en conclusion,

"** == l'opérateur détermine l'identité et La méthode equals détermine l'identité et l'équivalence ** "

Il semble y avoir une différence.

Qu'est-ce que le «jugement d'identité»?

"Que ce soit ou non la même instance".

Qu'est-ce que le «jugement d'équivalence»?

"Les valeurs stockées dans l'instance sont les mêmes Que ce soit ou non. "

Un exemple est présenté ci-dessous.

Exemple de programme

public class Example{
    public static void main(String[] args){
        String s1 = "012";
        String s2 = new StringBuilder("012").toString();

        if(s1 == s2){
            System.out.println("true");
        }else{
            System.out.println("false");
        }

        if(s1.equals(s2)){
            System.out.println("true");
        }else{
            System.out.println("false");
        }
    }
}

"s1 == s2" signifie "** si s1 et s2 sont la même instance **" Il sera jugé. Dans le programme ci-dessus, s1 et s2 sont indépendants Créé comme une instance. Par conséquent, la même instance Je ne peux pas dire cela, donc ** false ** est renvoyé. Au fait, comme suit Une fois réécrit, s1 == s2 devient vrai.

String s1 = "012";
String s2 = s1;

D'autre part, la méthode equals est la même par l'opérateur == dans la méthode en premier. Après avoir déterminé le sexe, l'équivalence est déterminée. Ici, ** pour s1 et s2 Comme le même littéral de chaîne "012" est stocké **, s1.equals (s2) Est vrai **.

Résumé

・ == L'opérateur détermine ** l'identité ** -La méthode d'égalité détermine ** l'identité et l'équivalence ** -Le jugement d'identité est "** Est-ce la même instance " ・ Le jugement d'équivalence est " stocké dans l'instance Si les valeurs sont identiques ** "

Recommended Posts

Différence entre l'opérateur == et la méthode eqals
Différence entre l'opérateur == et la méthode égale
Différence entre vh et%
Différence entre i ++ et ++ i
[Rails] Différence entre la méthode de création et la méthode nouvelle + sauvegarde
Différence entre produit et variante
Différence entre redirect_to et render
[Java] Différence entre == et égal
Différence entre redirect_to et render
Différence entre CUI et GUI
Différence entre les variables et les variables d'instance
Différence entre mockito-core et mockito-all
Différence entre classe et instance
Différence entre l'installation de bundle et de bundle
Différence entre ArrayList et LinkedList
Différence entre render et redirect_to
Différence entre List et ArrayList
Différence entre .bashrc et .bash_profile
Différence entre StringBuilder et StringBuffer
Différence entre render et redirect_to
Comment envoyer des transactions Ethereum Différence entre send et sendAsync
[Ruby] Différence entre obtenir et publier
Différence entre interface et classe abstraite
[Java] Différence entre Hashmap et HashTable
[Terminal] Différence entre irb et pry
JavaServlet: différence entre executeQuery et executeUpdate
[Ruby] Différence entre is_a? Et instance_of?
Différence approximative entre RSpec et minitest
[Rails] Différence entre find et find_by
Différence entre la variable d'instance et la variable de classe
[Java débutant] == opérateur et méthode equals
[JAVA] Différence entre abstrait et interface
Différence entre Thymeleaf @RestController et @Controller
Différence entre Stream map et flatMap
[Java] Différence entre array et ArrayList
Quelle est la différence entre une action et une méthode d'instance?
Différence entre le type primitif et le type de référence
Différence entre string.getByte () et Hex.decodeHex (string.toCharaArray ())
[Java] Différence entre fermable et fermable automatiquement
Remplaçons la différence entre == (identité) et méthode equals (équivalence)
[Java] Différence entre StringBuffer et StringBuilder
[Java] Différence entre longueur, longueur () et taille ()
[rails] Différence entre redirect_to et render
[Android] Différence entre finish () et return;
Facile à comprendre la différence entre la méthode d'instance Ruby et la méthode de classe.
Remarque: Différence entre Ruby "p" et "met"
Différence entre final et immuable en Java
[Remarque] Différence entre l'installation et la mise à jour du bundle
Différence entre la variable d'instance Ruby et la variable locale
Différence entre pop () et peek () dans la pile
[Pour les débutants] Différence entre Java et Kotlin
Différence entre isEmpty et isBlank de StringUtils
Différence entre getText () et getAttribute () de Selenium
À propos de la différence entre irb et pry
Différence entre "|| =" et "instance_variable_defined?" Dans Ruby memo
Différence entre EMPTY_ELEMENTDATA et DEFAULTCAPACITY_EMPTY_ELEMENTDATA dans ArrayList