Introduzione al confronto delle stringhe in Java

In Java, una sequenza di caratteri è nota come stringa. È immutabile (non può essere modificato una volta creato) e aiuta a eseguire diverse operazioni. Inoltre, un confronto di stringhe è un'attività di programmazione comune in Java. Può essere eseguito in diversi modi e verrà discusso in dettaglio nelle seguenti sezioni.

Come confrontare la stringa in Java?

Come già discusso, il confronto delle stringhe può essere eseguito utilizzando diversi metodi. Loro sono:

  • Utilizzando il metodo equals ()
  • Usando il metodo compareTo ()
  • Utilizzando il metodo equalsIgnoreCase ()
  • Utilizzando il metodo compareToIgnoreCase ()

1. Metodo Equals ()

Il metodo equals () confronta due stringhe in base al contenuto della stringa. Se le stringhe non sono nello stesso caso (cioè maiuscole o minuscole), saranno considerate non uguali. Di seguito è riportato un esempio del metodo equals ().

Programma

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

Produzione:

Spiegazione del codice sopra

  • Qui, due stringhe str1 e str2 sono uguali in quanto sono dello stesso caso. (Custodia per cammello).
  • Inoltre, Str3 e Str4, str5 e str6 non sono uguali.

2. Confronta con il metodo ()

In questo metodo, i valori vengono confrontati lessicograficamente e restituiscono un valore di tipo intero. Il valore si basa sul fatto che la prima stringa sia uguale, minore o maggiore della seconda stringa.

Sono presenti due stringhe str1 e str2 e

  • se str1 == str2, quindi 0
  • se str1> str2, quindi + valore ve
  • se str1 <str2, quindi -ve valore

Programma

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

Produzione:

Spiegazione del codice sopra

  • Poiché due stringhe str1 e str2 sono uguali dal punto di vista lessicografico, viene restituito 0.
  • Allo stesso tempo, str3 è inferiore a str4 e str5 è lessicograficamente lessicograficamente. Quindi, viene restituito un valore negativo.

3. Uguale al metodo Ignora caso

Usando questo metodo, verranno confrontate due stringhe senza considerare se la stringa è maiuscola o minuscola.

Programma

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

Produzione:

Spiegazione del codice sopra

  • Poiché viene utilizzato il metodo equalsIgnoreCase, str1 e str2 sono uguali anche se sono di diversi casi (minuscole e maiuscole). Quindi, True viene restituito.
  • Nel caso di str3 e str4, str5 e str6, due stringhe sono diverse. Quindi, viene restituito falso.

4. Confronta con Ignora metodo caso

Questo metodo è simile al metodo compareTo in cui le stringhe vengono confrontate lessicograficamente. La differenza è che il confronto non sarà influenzato se le stringhe sono in maiuscolo o minuscolo.

Programma

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

Produzione:

Spiegazione del codice sopra

  • Qui, viene fatta una combinazione di compareTo e Ignorecase. Poiché sia ​​str1 che str2 sono uguali senza considerare i casi, viene restituito 0.
  • Allo stesso modo, viene restituito un valore positivo poiché str3 è maggiore di str4 e un valore negativo viene restituito poiché str5 è inferiore a str6.

Vediamo ora tutti i metodi sopra menzionati in un singolo programma in modo da ottenere una migliore comprensione del confronto delle stringhe.

Programma

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

Produzione:

Conclusione

Una stringa è una sequenza di caratteri e i suoi oggetti sono immutabili. Esistono diversi metodi come uguale a, compareTo, ecc. Disponibili per confrontare le stringhe. Tutti questi metodi sono utilizzati in base ai requisiti. Sono spiegati in dettaglio nella sezione precedente.

Articoli consigliati

Questa è una guida sul confronto delle stringhe in Java. Qui discutiamo l'introduzione al confronto delle stringhe in Java, come confrontare le stringhe in Java insieme a codici e output. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Parola chiave protetta in Java
  2. JTextArea in Java
  3. GridBagLayout in Java
  4. Metodi di matrice in Java

Categoria: