==
.Ich werde sofort auf das Hauptthema eingehen. Verwenden Sie den Operator ==
, um zu vergleichen, ob zwei Werte in einem primitiven Typ wie int oder char gleich sind. Vergleichen Sie Referenztypen wie den Typ "Zeichenfolge" mit der Methode "equals".
Vergleichen Sie beim Vergleich mit ==
bei Referenztypen wie String type , ob das Referenzziel identisch ist </ b>, und vergleichen Sie nicht, ob der Referenzzielwert identisch ist.
Lassen Sie es uns tatsächlich mit dem Beispielcode ausführen.
Beispielcode
public static void main(String[] args) {
//Initialisieren Sie die String-Typvariablen str1 und str2 mit derselben Zeichenfolge
String str1 = "hello";
String str2 = "hello";
if(str1 == str2)
System.out.println("str1=str2 (==Vergleichen mit) ");
else
System.out.println("str1≠str2 (==Vergleichen mit) ");
//Fügen Sie dieselbe Zeichenfolge hinzu
str1 += "!";
str2 += "!";
if(str1 == str2)
System.out.println("str1=str2 (==Vergleichen mit) ");
else
System.out.println("str1≠str2 (==Vergleichen mit) ");
if(str1.equals(str2))
System.out.println("str1=str2 (Vergleiche mit gleich) ");
else
System.out.println("str1≠str2 (Vergleiche mit gleich) ");
}
Ausführungsergebnis
str1=str2 (==Vergleichen mit)
str1≠str2 (==Vergleichen mit)
str1=str2 (Vergleiche mit gleich)
Wenn str1 und str2 von Variablen vom Typ String mit derselben Zeichenfolge initialisiert und dieselbe Zeichenfolge hinzugefügt wird, wird "false" im Vergleich zu "==" und "true" im Vergleich zur Methode equals zurückgegeben. Ich komme zurück. Der String-Typ wird zum Zeitpunkt der Deklaration und Initialisierung als pseudo-primitiver Typ behandelt, wird jedoch als Referenztyp verwendet, wenn eine Zeichenfolge hinzugefügt wird. Selbst wenn die Werte gleich sind, ist das Referenzziel daher unterschiedlich. Wenn Sie also mit ==
vergleichen, wird false zurückgegeben.
Vergleich des Basistyps und Vergleich des Referenztyps [Schnell lernen Java] Unterschied zwischen "==" und "gleich" (erklärt, wie man leugnet)
Recommended Posts