Heim  >  Artikel  >  Java  >  Der Unterschied zwischen equal und == in Java

Der Unterschied zwischen equal und == in Java

angryTom
angryTomOriginal
2019-11-11 15:18:514434Durchsuche

Der Unterschied zwischen equal und == in Java

Der Unterschied zwischen equal und == in Java

"==" vergleicht zwei Referenzen in Ob der Speicher zeigt auf dasselbe Objekt (dh denselben Speicherplatz), dh ob die Speicherorte im Speicherplatz konsistent sind.

Gleich, wird häufig verwendet, um festzustellen, ob die Inhalte im Objekt gleich sind.

Die Equals-Methode wird von der Object-Klasse bereitgestellt und kann von Unterklassen umgeschrieben werden (empfohlenes Tutorial: Java-Tutorial)

public boolean equals(Object obj) {
    return (this == obj);
}

Die Standardimplementierung gibt nur dann true zurück, wenn das Objekt mit sich selbst verglichen wird, was zu diesem Zeitpunkt äquivalent zu „==" ist.

Viele Klassen in Java (String-Klasse, Date-Klasse, File-Klasse) haben die Methode „equals“ neu geschrieben. Hier ist die allgemeine String-Klasse als Beispiel.

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
    }
}

Die Methode „equals“ in der Java-Sprache ist eigentlich den Entwicklern überlassen, sie zu überschreiben, sodass Entwickler definieren können, welche Bedingungen zwei Objekte, die sich erfüllen, gleich sind.

Dies bedeutet, dass die Methode „equals“ genau mit „==" übereinstimmt. Wenn es sich um einen Werttyp handelt, vergleichen Sie die Werte ​​sind gleich; wenn es sich um einen Referenztyp handelt, bestimmen Sie, ob die Objektadresse gleich ist.

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen equal und == in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn