Heim  >  Artikel  >  Java  >  Vergleichende Operationsanalyse von == und equal in Java

Vergleichende Operationsanalyse von == und equal in Java

王林
王林nach vorne
2020-11-17 15:11:332356Durchsuche

Vergleichende Operationsanalyse von == und equal in Java

Vergleichende Analyse:

(Lernvideo-Sharing: Java-Kurs)

==: Seine Funktion besteht darin, festzustellen, ob die Adressen zweier Objekte gleich sind. Das heißt: Bestimmen Sie, ob zwei Objekte dasselbe Objekt sind. (Grundlegende Datentypen vergleichen Werte und Referenzdatentypen == vergleichen Speicheradressen).

equals(): Seine Funktion besteht auch darin, zu bestimmen, ob zwei Objekte gleich sind. Im Allgemeinen gibt es jedoch zwei Anwendungsfälle:

Fall 1: Die Klasse deckt die Methode equal() nicht ab. Dann ist der Vergleich zweier Objekte dieser Klasse über equal() gleichbedeutend mit dem Vergleich der beiden Objekte über ==.

Fall 2: Die Klasse überschreibt die Methode equal(). Im Allgemeinen überschreiben wir die Methode equal(), um sicherzustellen, dass die Inhalte der beiden Objekte gleich sind. Wenn ihre Inhalte gleich sind, wird true zurückgegeben (d. h. die beiden Objekte werden als gleich betrachtet).

Codebeispiel:

public class test1 {
	public static void main(String[] args) {
		String a = new String("ab"); // a 为一个引用
		String b = new String("ab"); // b 为另一个引用,对象的内容一样
		String aa = "ab"; // 放在常量池中
		String bb = "ab"; // 从常量池中查找
		if (aa == bb) // true
		System.out.println("aa==bb");
		if (a == b) // false,非同一对象
		System.out.println("a==b");
		if (a.equals(b)) // true
		System.out.println("aEQb");
		if (42 == 42.0) // true
		System.out.println("true");
	}
}

Die Equals-Methode in String wurde überschrieben, da die Equals-Methode von Objekt die Speicheradresse des Objekts vergleicht, während die Equals-Methode von String den Wert des Objekts vergleicht. Beim Erstellen eines Objekts vom Typ String durchsucht die virtuelle Maschine den Konstantenpool, um festzustellen, ob ein vorhandenes Objekt mit demselben Wert wie das zu erstellende Objekt vorhanden ist, und weist es in diesem Fall der aktuellen Referenz zu. Wenn nicht, erstellen Sie ein String-Objekt im Konstantenpool neu.

Verwandte Empfehlungen: Erste Schritte mit Java

Das obige ist der detaillierte Inhalt vonVergleichende Operationsanalyse von == und equal 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