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!