[JAVA] Unterschied zwischen dem Operator == und der Methode eqals

Domo ist Fugito.

Diesmal ist ein kleines Memorandum.

Was ist der Unterschied zwischen dem Operator == und der Methode equals?

abschließend,

"** == Operator bestimmt Identität und Die Methode equals bestimmt Identität und Äquivalenz ** "

Es scheint einen Unterschied zu geben.

Was ist "Identitätsurteil"?

"Ob sie dieselbe Instanz sind oder nicht".

Was ist "Äquivalenzurteil"?

"Die in der Instanz gespeicherten Werte sind gleich Ob es ist oder nicht. "

Ein Beispiel ist unten gezeigt.

Beispielprogramm

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" bedeutet "** ob s1 und s2 dieselbe Instanz sind **" Es wird beurteilt. Im obigen Programm sind s1 und s2 unabhängig Als Instanz erstellt. Daher die gleiche Instanz Ich kann das nicht sagen, also wird ** false ** zurückgegeben. Übrigens wie folgt Beim Umschreiben wird s1 == s2 wahr.

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

Andererseits ist die Methode equals für den Operator == in der Methode zuerst dieselbe. Nach der Bestimmung des Geschlechts wird die Äquivalenz bestimmt. Hier ** für s1 und s2 Da das gleiche String-Literal "012" gespeichert ist **, ist s1.equals (s2) Ist wahr **.

Zusammenfassung

・ == Operator bestimmt ** Identität ** -Die Methode equals bestimmt ** Identität und Äquivalenz ** -Identitätsurteil ist "** Ist es die gleiche Instanz " ・ Die Beurteilung der Äquivalenz ist "" in der Instanz gespeichert Ob die Werte gleich sind ** "

Recommended Posts

Unterschied zwischen dem Operator == und der Methode eqals
Unterschied zwischen == Operator und Methode gleich
Unterschied zwischen vh und%
Unterschied zwischen i ++ und ++ i
[Schienen] Unterschied zwischen Erstellungsmethode und neuer + Speichermethode
Unterschied zwischen Produkt und Variante
Unterschied zwischen redirect_to und render
[Java] Unterschied zwischen == und gleich
Unterschied zwischen redirect_to und render
Unterschied zwischen CUI und GUI
Unterschied zwischen Variablen und Instanzvariablen
Unterschied zwischen Mockito-Core und Mockito-All
Unterschied zwischen Klasse und Instanz
Unterschied zwischen Bundle und Bundle-Installation
Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen render und redirect_to
Unterschied zwischen List und ArrayList
Unterschied zwischen .bashrc und .bash_profile
Unterschied zwischen StringBuilder und StringBuffer
Unterschied zwischen render und redirect_to
So senden Sie Ethereum-Transaktionen Unterschied zwischen send und sendAsync
[Ruby] Unterschied zwischen get und post
Unterschied zwischen Schnittstelle und abstrakter Klasse
[Java] Unterschied zwischen Hashmap und HashTable
[Terminal] Unterschied zwischen irb und pry
JavaServlet: Unterschied zwischen executeQuery und executeUpdate
[Ruby] Unterschied zwischen is_a? Und instance_of?
Grober Unterschied zwischen RSpec und Minitest
[Rails] Unterschied zwischen find und find_by
Unterschied zwischen Instanzvariable und Klassenvariable
[Java-Anfänger] == Operator und Gleiche Methode
[JAVA] Unterschied zwischen Abstract und Interface
Unterschied zwischen Thymeleaf @RestController und @Controller
Unterschied zwischen Stream Map und FlatMap
[Java] Unterschied zwischen Array und ArrayList
Was ist der Unterschied zwischen einer Aktion und einer Instanzmethode?
Unterschied zwischen primitivem Typ und Referenztyp
Unterschied zwischen string.getByte () und Hex.decodeHex (string.toCharaArray ())
[Java] Unterschied zwischen Closeable und AutoCloseable
Überschreiben wir den Unterschied zwischen == (Identität) und der Methode equals (Äquivalenz).
[Java] Unterschied zwischen StringBuffer und StringBuilder
[Java] Unterschied zwischen Länge, Länge () und Größe ()
[Rails] Unterschied zwischen redirect_to und Rendern
[Android] Unterschied zwischen finish () und return;
Der Unterschied zwischen der Ruby-Instanzmethode und der Klassenmethode ist leicht zu verstehen.
Hinweis: Unterschied zwischen Ruby "p" und "Puts"
Unterschied zwischen final und Immutable in Java
[Hinweis] Unterschied zwischen Bundle-Installation und -Update
Unterschied zwischen Ruby-Instanzvariable und lokaler Variable
Unterschied zwischen pop () und peek () im Stapel
[Für Anfänger] Unterschied zwischen Java und Kotlin
Unterschied zwischen isEmpty und isBlank von StringUtils
Unterschied zwischen getText () und getAttribute () von Selen
Über den Unterschied zwischen irb und pry
Unterschied zwischen "|| =" und "instance_variable_defined?" Im Ruby-Memo
Unterschied zwischen EMPTY_ELEMENTDATA und DEFAULTCAPACITY_EMPTY_ELEMENTDATA in ArrayList