Úvod do porovnávania reťazcov v jazyku Java

V Jave je postupnosť znakov známa ako reťazec. Je nemenná (po vytvorení ju nie je možné zmeniť) a pomáha pri vykonávaní niekoľkých operácií. Porovnanie reťazcov je tiež bežná programová úloha v jazyku Java. Môže sa vykonať niekoľkými spôsobmi a bude podrobne rozobrané v nasledujúcich častiach.

Ako porovnávať reťazec v jazyku Java?

Ako už bolo uvedené, porovnávanie reťazcov sa môže vykonať pomocou rôznych metód. Oni sú:

  • Použitie metódy equals ()
  • Použitie metódy CompareTo ()
  • Použitie metódy equalsIgnoreCase ()
  • Použitie metódy CompareToIgnoreCase ()

1. Rovnaká metóda ()

equals () porovnáva dva reťazce na základe obsahu reťazca. Ak sa reťazce nenachádzajú v rovnakom prípade (tj veľké alebo malé písmená), bude sa považovať za nerovnaké. Nižšie je uvedený príklad metódy equals ().

Program

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");
)
)
)

Výkon:

Vysvetlenie vyššie uvedeného kódu

  • V tomto prípade sú dva reťazce str1 a str2 rovnaké ako v rovnakom prípade. (Prípad ťavy).
  • Tiež Str3 a Str4, str5 a str6 nie sú rovnaké.

2. Porovnajte s metódou ()

V tejto metóde sa hodnoty porovnávajú lexikograficky a vracajú hodnotu celočíselného typu. Hodnota je založená na tom, či sa prvý reťazec rovná, je menší alebo väčší ako druhý reťazec.

Sú prítomné dva reťazce str1 a str2 a

  • ak str1 == str2, potom 0
  • ak str1> str2, potom kladná hodnota
  • ak str1 <str2, potom -ve hodnota

Program

//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));
)
)

Výkon:

Vysvetlenie vyššie uvedeného kódu

  • Pretože dva reťazce str1 a str2 sú lexikograficky rovnaké, vráti sa 0.
  • Zároveň je str3 menej ako str4 a str5 je lexikograficky menej ako str6. Takže je vrátená záporná hodnota.

3. Rovnaká metóda ignorovania prípadov

Pri použití tejto metódy sa porovnajú dva reťazce bez ohľadu na to, či sa jedná o veľké alebo malé reťazce.

Program

//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));
)
)

Výkon:

Vysvetlenie vyššie uvedeného kódu

  • Pretože sa používa metóda equalsIgnoreCase, str1 a str2 sú rovnaké, aj keď sa jedná o rôzne prípady (malé a veľké písmená). Pravda sa teda vráti.
  • V prípade str3 a str4, str5 a str6 sú dva reťazce odlišné. Preto je vrátená nepravda.

4. Porovnajte s metódou ignorovania prípadu

Táto metóda je podobná metóde CompareTo, kde sú reťazce porovnávané lexikograficky. Rozdiel je v tom, že porovnanie nebude ovplyvnené, či sú reťazce napísané veľkými alebo malými písmenami.

Program

//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));
)
)

Výkon:

Vysvetlenie vyššie uvedeného kódu

  • Tu sa vykoná kombinácia porovnávania a ignorovania. Pretože str1 aj str2 sú rovnaké bez zváženia prípadov, vráti sa 0.
  • Podobne je kladná hodnota vrátená, pretože str3 je väčšia ako str4 a záporná hodnota je vrátená, pretože str5 je menšia ako str6.

Pozrime sa teraz na všetky vyššie uvedené metódy v jednom programe, aby bolo možné lepšie porozumieť porovnaniu reťazcov.

Program

//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));
)
)

Výkon:

záver

Reťazec je postupnosť znakov a jeho objekty sú nemenné. Existujú rôzne metódy ako napríklad equals, CompareTo atď., Ktoré slúžia na porovnávanie reťazcov. Všetky tieto metódy sa používajú na základe požiadaviek. Podrobne sú vysvetlené v predchádzajúcej časti.

Odporúčané články

Toto je sprievodca porovnaním reťazcov v jazyku Java. Tu diskutujeme Úvod do porovnania reťazcov v jazyku Java, Ako porovnávať reťazce v jazyku Java spolu s kódmi a výstupmi. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Chránené kľúčové slovo v jazyku Java
  2. JTextArea v Jave
  3. GridBagLayout v Jave
  4. Array Methods in Java

Kategórie: