Einführung in den Stringvergleich in Java

In Java wird eine Zeichenfolge als Zeichenfolge bezeichnet. Es ist unveränderlich (kann nach seiner Erstellung nicht mehr geändert werden) und hilft bei der Ausführung mehrerer Vorgänge. Ein Vergleich von Zeichenfolgen ist auch eine häufige Programmieraufgabe in Java. Es kann auf verschiedene Arten durchgeführt werden und wird in den folgenden Abschnitten ausführlich besprochen.

So vergleichen Sie String in Java?

Wie bereits erläutert, kann der String-Vergleich mit verschiedenen Methoden durchgeführt werden. Sie sind:

  • Verwenden der Methode equals ()
  • Verwenden der compareTo () -Methode
  • Verwenden der equalsIgnoreCase () -Methode
  • Verwenden der compareToIgnoreCase () -Methode

1. Equals () Methode

Die Methode equals () vergleicht zwei Zeichenfolgen basierend auf dem Inhalt der Zeichenfolge. Wenn sich die Zeichenfolgen nicht im selben Fall befinden (dh in Groß- oder Kleinschreibung), wird dies als ungleich betrachtet. Unten sehen Sie ein Beispiel für die equals () -Methode.

Programm

public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are equal");
)
else
(
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are not equal");
)
String str3 = "Happy";
String str4 = "hai";
if (str3.equals(str4)) (
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are equal");
)
else
(
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are not equal");
)
String str5 = "Happy";
String str6 = "hard";
if (str5.equals(str6)) (
System.out.println("Both str5 : " + str5 + "and str6 : "+ str6 +" are equal");
)
else
(
System.out.println("Both str5 : " + str5 + " and str6 : "+ str6 +" are not equal");
)
)
)

Ausgabe:

Erklärung des obigen Codes

  • Hier sind zwei Zeichenfolgen str1 und str2 gleich, da sie den gleichen Fall haben. (Kamelkasten).
  • Auch Str3 und Str4, str5 und str6 sind nicht gleich.

2. Vergleichen Sie mit () Methode

Bei dieser Methode werden Werte lexikografisch verglichen und geben einen Wert vom Typ Integer zurück. Der Wert basiert darauf, ob die erste Zeichenfolge der zweiten Zeichenfolge entspricht, kleiner oder größer ist.

Es sind zwei Strings str1 und str2 vorhanden und

  • wenn str1 == str2, dann 0
  • wenn str1> str2, dann + ve wert
  • Wenn str1 <str2, dann -ve Wert

Programm

//Java program to demonstrate compareTo method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
String str3 = "Happy";
String str4 = "hai";
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println(str3.compareTo(str4));
String str5 = "Happy";
String str6 = "Hardest one";
System.out.println(str5.compareTo(str6));
)
)

Ausgabe:

Erklärung des obigen Codes

  • Da zwei Strings str1 und str2 lexikographisch gleich sind, wird 0 zurückgegeben.
  • Gleichzeitig ist str3 lexikographisch kleiner als str4 und str5 kleiner als str6. Es wird also ein negativer Wert zurückgegeben.

3. Entspricht der Methode Groß- / Kleinschreibung ignorieren

Mit dieser Methode werden zwei Zeichenfolgen verglichen, ohne zu berücksichtigen, ob es sich bei der Zeichenfolge um Groß- oder Kleinbuchstaben handelt.

Programm

//Java program to demonstrate equalsIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.equalsIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println(str5.equalsIgnoreCase(str6));
)
)

Ausgabe:

Erklärung des obigen Codes

  • Da die equalsIgnoreCase-Methode verwendet wird, sind str1 und str2 gleich, auch wenn sie unterschiedliche Groß- und Kleinschreibung haben. Also wird True zurückgegeben.
  • Im Fall von str3 und str4, str5 und str6 sind zwei Zeichenfolgen unterschiedlich. Daher wird false zurückgegeben.

4. Vergleichen Sie mit Groß- / Kleinschreibung ignorieren

Diese Methode ähnelt der compareTo-Methode, bei der Zeichenfolgen lexikografisch verglichen werden. Der Unterschied besteht darin, dass der Vergleich nicht beeinträchtigt wird, unabhängig davon, ob die Zeichenfolgen in Groß- oder Kleinbuchstaben geschrieben sind.

Programm

//Java program to demonstrate compareToIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "Hard";
System.out.println(str5.compareToIgnoreCase(str6));
)
)

Ausgabe:

Erklärung des obigen Codes

  • Hier wird eine Kombination aus compareTo und Ignorecase durchgeführt. Da sowohl str1 als auch str2 ohne Berücksichtigung der Fälle gleich sind, wird 0 zurückgegeben.
  • Ebenso wird ein positiver Wert zurückgegeben, wenn str3 größer als str4 ist, und ein negativer Wert, wenn str5 kleiner als str6 ist.

Sehen wir uns nun alle oben genannten Methoden in einem einzigen Programm an, um ein besseres Verständnis für den Zeichenfolgenvergleich zu erhalten.

Programm

//Java program to demonstrate different methods for string comparison
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
System.out.println("Comparison of str1 : " + str1 + " and str2 : " + str2);
System.out.println("Using equals method ");
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println("Using equalsIgnoreCase method ");
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println("Using compareToIgnoreCase method ");
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println("\nComparison of str3 : " + str3 + " and str4 : " + str4);
System.out.println("Using equals method ");
if (str3.equals(str4)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str3.compareTo(str4));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str3.equalsIgnoreCase(str4));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println("\nComparison of str5 : " + str5 + " and str6 : " + str6);
System.out.println("Using equals method ");
if (str5.equals(str6)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str5.compareTo(str6));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str5.equalsIgnoreCase(str6));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str5.compareToIgnoreCase(str6));
)
)

Ausgabe:

Fazit

Eine Zeichenfolge ist eine Folge von Zeichen und ihre Objekte sind unveränderlich. Zum Vergleichen der Zeichenfolgen stehen verschiedene Methoden wie equals, compareTo usw. zur Verfügung. All diese Methoden richten sich nach den Anforderungen. Sie werden im obigen Abschnitt ausführlich erläutert.

Empfohlene Artikel

Dies ist eine Anleitung zum Zeichenfolgenvergleich in Java. Hier diskutieren wir die Einführung in den Zeichenfolgenvergleich in Java, das Vergleichen von Zeichenfolgen in Java sowie Codes und Ausgaben. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Geschütztes Schlüsselwort in Java
  2. JTextArea in Java
  3. GridBagLayout in Java
  4. Array-Methoden in Java