[Java] Unterschied zwischen == und gleich

Programmierstudientagebuch

  1. November 2020 Ein kurzes Memorandum zur Verwendung der Equals-Methode zum Vergleichen von Strings und ==.

Unterschied zwischen "==" und "epuals"

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.

Verweise

Vergleich des Basistyps und Vergleich des Referenztyps [Schnell lernen Java] Unterschied zwischen "==" und "gleich" (erklärt, wie man leugnet)

Recommended Posts

[Java] Unterschied zwischen == und gleich
[Java] Unterschied zwischen Hashmap und HashTable
[JAVA] Unterschied zwischen Abstract und Interface
[Java] Unterschied zwischen Array und ArrayList
[Java] Unterschied zwischen Closeable und AutoCloseable
[Java] Unterschied zwischen StringBuffer und StringBuilder
[Java] Unterschied zwischen Länge, Länge () und Größe ()
Unterschied zwischen final und Immutable in Java
[Für Anfänger] Unterschied zwischen Java und Kotlin
Unterschied zwischen vh und%
[Java] Unterschied zwischen Intstream-Bereich und rangeClosed
Unterschied zwischen i ++ und ++ i
Unterschied zwischen int und Integer in Java
[Java] Verstehe den Unterschied zwischen List und Set
Unterschied zwischen next () und nextLine () in Java Scanner
[Java] Unterschied zwischen "endgültiger Variable" und "unveränderlichem Objekt"
Unterschied zwischen Produkt und Variante
Unterschied zwischen redirect_to und render
Unterschied zwischen redirect_to und render
Unterschied zwischen CUI und GUI
Unterschied zwischen Variablen und Instanzvariablen
Unterschied zwischen Mockito-Core und Mockito-All
[Java] HashCode und gleich Überschreibung
Unterschied zwischen Klasse und Instanz
Unterschied zwischen Bundle und Bundle-Installation
Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen render und redirect_to
Unterschied zwischen List und ArrayList
Java Generics T und? Unterschied
Unterschied zwischen .bashrc und .bash_profile
Unterschied zwischen StringBuilder und StringBuffer
Unterschied zwischen render und redirect_to
== und gleich
[Java] Unterschied zwischen statischem final und final in Mitgliedsvariablen
[JAVA] Was ist der Unterschied zwischen Schnittstelle und Zusammenfassung? ?? ??
[Java-Anfänger] Unterschied zwischen Länge und Länge () ~ Ich weiß nicht ~
[Java] Unterschied zwischen gleich und == in einer Zeichenfolge, die ein Referenztyp ist
[Ruby] Unterschied zwischen get und post
Unterschied zwischen Instanzmethode und Klassenmethode
Unterschied zwischen Schnittstelle und abstrakter Klasse
Unterschiede zwischen "Anfänger" Java und Kotlin
[Terminal] Unterschied zwischen irb und pry
JavaServlet: Unterschied zwischen executeQuery und executeUpdate
[Ruby] Unterschied zwischen is_a? Und instance_of?
Unterschied zwischen dem Operator == und der Methode eqals
Grober Unterschied zwischen RSpec und Minitest
[Rails] Unterschied zwischen find und find_by
Unterschied zwischen Instanzvariable und Klassenvariable
[Java-Anfänger] == Operator und Gleiche Methode
[Java] Beziehung zwischen H2DB und JDBC
Unterschied zwischen Thymeleaf @RestController und @Controller
Unterschied zwischen Stream Map und FlatMap
Verstehe gleich und hashCode in Java
Unterschied zwischen primitivem Typ und Referenztyp
Unterschied zwischen string.getByte () und Hex.decodeHex (string.toCharaArray ())