Heim  >  Artikel  >  Java  >  Was ist der Unterschied zwischen dem „==“-Operator und der Methode „equals“ in Java?

Was ist der Unterschied zwischen dem „==“-Operator und der Methode „equals“ in Java?

王林
王林nach vorne
2020-07-04 16:37:302639Durchsuche

Was ist der Unterschied zwischen dem „==“-Operator und der Methode „equals“ in Java?

Der Unterschied ist wie folgt:

(Empfohlenes Lernen: Java-Einführungsprogramm) Der Operator

== ist speziell Wird verwendet, um zu vergleichen, ob die Werte zweier Variablen gleich sind, dh um zu vergleichen, ob die im Speicher gespeicherten Werte, die den Variablen entsprechen, gleich sind. Vergleichen Sie zwei grundlegende Datentypen oder ob zwei Referenzen vorliegen Da die Variablen gleich sind, können Sie nur den ==-Operator verwenden.

Die Gleichheitsmethode wird verwendet, um zu vergleichen, ob der Inhalt zweier unabhängiger Objekte gleich ist, genau wie beim Vergleich, ob zwei Bücher gleich sind. Die beiden verglichenen Objekte sind unabhängig.

Beispiel:

String a = new String("AA");
String b = new String("AA");
System.out.println(a==b);
System.out.println(a.equals(b));

Zwei neue Anweisungen erstellen zwei Objekte und verwenden dann die beiden Variablen a und b, um jeweils auf eines der Objekte zu verweisen. Sie sind die ersten Adressen von sind unterschiedlich, das heißt, die in a und b gespeicherten Werte sind unterschiedlich, sodass der Ausdruck a == b false zurückgibt und der Inhalt der beiden Objekte gleich ist, sodass a, equal (b) true zurückgibt .

(Empfohlenes Video-Tutorial: Java-Video-Tutorial )

Hinweis: String-Vergleiche verwenden grundsätzlich die Methode „equals“.

Wenn eine Klasse keine eigene definierte Equals-Methode hat, erbt sie die Equals-Methode der Object-Klasse. Der Implementierungscode der Object-Klasse lautet wie folgt:

boolean equals(Object o)
{
return this==o;
}

Dies bedeutet, dass, wenn eine Klasse dies nicht tut, die selbstdefinierte Gleichheitsmethode, die Standardgleichheitsmethode, der Verwendung des ==-Operators entspricht, dh dem Vergleich der Objekte, auf die die beiden Variablen zeigen, mit demselben Objekt. Verwenden Sie zu diesem Zeitpunkt gleich und ==.

wird das gleiche Ergebnis erzielen! ! Wenn Sie eine Klasse schreiben möchten, die vergleichen kann, ob der Inhalt zweier Instanzobjekte gleich ist, müssen Sie die Methode equals überschreiben!

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen dem „==“-Operator und der Methode „equals“ in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen