Heim > Java > javaLernprogramm > .equals() vs. == in Java: Wann sollten Sie jedes verwenden?

.equals() vs. == in Java: Wann sollten Sie jedes verwenden?

Patricia Arquette
Freigeben: 2024-12-28 01:34:09
Original
500 Leute haben es durchsucht

.equals() vs. == in Java: When Should You Use Each?

.equals vs. ==: Ein tieferer Einblick

In Java ist der Unterschied zwischen „.equals“ und „==" oft missverstanden. Lassen Sie uns den Unterschied zwischen diesen Operatoren untersuchen und verstehen, wann jeder einzelne verwendet werden sollte.

Die Verwendung von „=="

"==" ist der Gleichheitsoperator und er vergleicht die Referenzen zweier Objekte. Bei primitiven Datentypen (z. B. int, double) prüft „==“, ob die Werte gleich sind. Bei nicht-primitiven Typen (z. B. Objekten) vergleicht „==" jedoch, ob beide Objekte auf denselben Speicherort verweisen.

Verwendung von „.equals“

".equals" ist eine in der Klasse „Object“ definierte Methode und bietet eine allgemeine Möglichkeit, den Inhalt zweier Objekte zu vergleichen. Standardmäßig vergleicht „.equals“ die Werte der Objekte und ermöglicht so benutzerdefinierte Implementierungen in Unterklassen.

Warum „.equals“ besser ist

Während „== " reicht für primitive Datentypen aus, es kann zu Missverständnissen im Umgang mit Objekten führen. Zum Beispiel:

Code:

Integer a = new Integer(10);
Integer b = new Integer(10);

if (a == b) {
  System.out.println("They are the same");
}

if (a.equals(b)) {
  System.out.println("They are equal");
}
Nach dem Login kopieren

Ausgabe:

They are not the same
They are equal
Nach dem Login kopieren

In diesem Beispiel „== " gibt „false“ zurück, da „a“ und „b“ unterschiedliche Objekte mit unterschiedlichen Speicherorten sind. Allerdings gibt „.equals“ „true“ zurück, da sie denselben Wert darstellen.

Best Practices

Als allgemeine Regel gilt, dass es immer besser ist, „.equals“ zu verwenden " für Objekte, auch für primitive Datentypen. Dies stellt ein konsistentes Verhalten sicher und vermeidet potenzielle Fehler. Hier einige Richtlinien:

  • Für primitive Datentypen: Verwenden Sie „==", um zu prüfen, ob die Werte gleich sind.
  • Für Objekte: Verwenden Sie „.equals“, um den Inhalt zu vergleichen.
  • Für Zeichenfolgen:Verwenden „.equals“ anstelle von „==“, da Zeichenfolgen intern sind und mehrere Referenzen haben können.

Das obige ist der detaillierte Inhalt von.equals() vs. == in Java: Wann sollten Sie jedes verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage