Bevezetés a vonóságok összehasonlításáról a Java-ban

A Java-ban a karakter sorozatot karakterláncnak nevezik. Nem változtatható (létrehozása után nem változtatható meg), és több művelet végrehajtásában segít. A Karakterlánc összehasonlítása szintén általános programozási feladat a Java-ban. Ez többféle módon is végrehajtható, és a következő részekben tárgyaljuk részletesebben.

Hogyan lehet összehasonlítani a húrokat a Java-ban?

Mint már említettük, a húrok összehasonlítását különféle módszerekkel lehet elvégezni. Ők:

  • Az equals () módszer alkalmazásával
  • A CompareTo () módszer használata
  • EqualsIgnoreCase () módszer alkalmazásával
  • A CompareToIgnoreCase () módszer használata

1. Egyenlő () módszer

equals () módszer két karakterláncot összehasonlít a karakterlánc tartalma alapján. Ha a húrok nem azonosak (azaz a kis- és nagybetűk), akkor nem egyenlőnek tekintik. Az alábbiakban egy példát mutatunk az equals () módszerre.

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

Kimenet:

A fenti kód magyarázata

  • Itt két str1 és str2 húr egyenlő, mivel ugyanazon eset. (Teve eset).
  • Az Str3 és az Str4, az str5 és az str6 szintén nem azonosak.

2. Hasonlítsa össze a () módszerrel

Ebben a módszerben az értékeket lexikográfiailag hasonlítják össze, és egész számú értéket adnak vissza. Az érték azon alapul, hogy az első karakterlánc egyenlő, kevesebb vagy nagyobb, mint a második karakterlánc.

Két str1 és str2 húr van jelen és

  • ha str1 == str2, akkor 0
  • ha str1> str2, akkor + ve érték
  • ha str1 <str2, akkor -ve érték

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

Kimenet:

A fenti kód magyarázata

  • Mivel az str1 és str2 két húrok lexikográfiailag azonosak, a 0 értéket adja vissza.
  • Ugyanakkor az str3 lexikográfiailag kevesebb, mint az str4 és az str5 kevesebb, mint az str6. Tehát egy negatív értéket adunk vissza.

3. Egyenlő az Ignore Case módszerrel

Ezzel a módszerrel két karakterláncot hasonlítanak össze anélkül, hogy megfontolnák, hogy a karakterlánc nagybetűs vagy kisbetűs-e.

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

Kimenet:

A fenti kód magyarázata

  • Mivel az equalsIgnoreCase módszert alkalmazzák, az str1 és az str2 azonosak, bár eltérő esetekben vannak (kis- és nagybetűk). Tehát True visszatér.
  • Az str3 és str4, str5 és str6 esetében két húr különbözik. Ezért a hamis visszakerül.

4. Hasonlítsa össze az eset-módszer figyelmen kívül hagyásával

Ez a módszer hasonló az összehasonlító módszerhez, ahol a húrokat lexikográfiailag hasonlítják össze. A különbség az, hogy az összehasonlítást nem befolyásolja, hogy a húrok nagybetűkkel vagy kisbetűkkel vannak-e.

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

Kimenet:

A fenti kód magyarázata

  • Itt történik az összehasonlítás és az Ignorecase kombinációja. Mivel az str1 és az str2 egyaránt azonosak az esetek figyelembevétele nélkül, akkor a 0 visszaadásra kerül.
  • Hasonlóképpen, a pozitív érték visszatér, mivel az str3 nagyobb, mint az str4, és a negatív érték, mivel az str5 kisebb, mint az str6.

Most nézzük meg az összes fent említett módszert egyetlen programban, hogy jobban megértsük a karakterlánc-összehasonlítást.

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

Kimenet:

Következtetés

A karakterlánc egy karakter sorozat, amelynek objektumai változatlanok. Különböző módszerek léteznek, például az egyenlőség, a palygintiTo stb. A húrok összehasonlításához. Ezeket a módszereket a követelmények alapján alkalmazzák. Ezeket a fenti szakasz részletesen ismerteti.

Ajánlott cikkek

Ez egy útmutató a String Comparisonról Java-ban. Itt tárgyaljuk a Java sztringek összehasonlításának bevezetését, a Java sztring összehasonlítását, valamint a kódokat és a kimeneteket. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Védett kulcsszó a Java-ban
  2. JTextArea Java
  3. GridBagLayout Java-ban
  4. Tömb módszerek Java-ban

Kategória: