logo

Comparați șirurile Java

comparație de șiruri java

Putem compara String în Java pe baza conținutului și referințelor.

Este folosit în autentificare (prin metoda equals()), triere (prin metoda compareTo()), potrivirea referințelor (de către == operator) etc.

Există trei moduri de a compara String în Java:

  1. Folosind metoda equals().
  2. Prin utilizarea == Operator
  3. Prin metoda compareTo().

1) Prin utilizarea metodei equals().

Metoda String class equals() compară conținutul original al șirului. Compară valorile șirului de caractere pentru egalitate. Clasa String oferă următoarele două metode:

    public boolean este egal (Obiect altul)compară acest șir cu obiectul specificat.public boolean equalsIgnoreCase(String another)compară acest șir cu un alt șir, ignorând majuscule.

Teststringcomparison1.java

 class Teststringcomparison1{ public static void main(String args[]){ String s1='Sachin'; String s2='Sachin'; String s3=new String('Sachin'); String s4='Saurav'; System.out.println(s1.equals(s2));//true System.out.println(s1.equals(s3));//true System.out.println(s1.equals(s4));//false } } 
Testează-l acum

Ieșire:

 true true false 

În codul de mai sus, două șiruri sunt comparate folosind este egal() Metodă de Şir clasă. Și rezultatul este imprimat ca valori booleene, Adevărat sau fals .

Teststringcomparison2.java

 class Teststringcomparison2{ public static void main(String args[]){ String s1='Sachin'; String s2='SACHIN'; System.out.println(s1.equals(s2));//false System.out.println(s1.equalsIgnoreCase(s2));//true } } 
Testează-l acum

Ieșire:

 false true 

În programul de mai sus, metodele de Şir clasa sunt folosite. The este egal() metoda returnează true dacă obiectele String se potrivesc și ambele șiruri au aceeași literă. equalsIgnoreCase() returnează adevărat, indiferent de cazurile de șiruri.

Faceți clic aici pentru mai multe despre metoda equals().

2) Prin utilizarea operatorului ==

Operatorul == compară referințele, nu valorile.

Teststringcomparison3.java

 class Teststringcomparison3{ public static void main(String args[]){ String s1='Sachin'; String s2='Sachin'; String s3=new String('Sachin'); System.out.println(s1==s2);//true (because both refer to same instance) System.out.println(s1==s3);//false(because s3 refers to instance created in nonpool) } } 
Testează-l acum

Ieșire:

 true false 

3) Compararea șirurilor prin metoda compareTo().

Codul de mai sus demonstrează utilizarea == operator folosit pentru compararea a două Şir obiecte.


3) Prin utilizarea metodei compareTo().

Metoda String class compareTo() compară valorile lexicografic și returnează o valoare întreagă care descrie dacă primul șir este mai mic, egal cu sau mai mare decât al doilea șir.

Să presupunem că s1 și s2 sunt două obiecte String. Dacă:

    s1 == s2: Metoda returnează 0.s1 > s2: Metoda returnează o valoare pozitivă.s1: Metoda returnează o valoare negativă.

Teststringcomparison4.java

 class Teststringcomparison4{ public static void main(String args[]){ String s1=&apos;Sachin&apos;; String s2=&apos;Sachin&apos;; String s3=&apos;Ratan&apos;; System.out.println(s1.compareTo(s2));//0 System.out.println(s1.compareTo(s3));//1(because s1&gt;s3) System.out.println(s3.compareTo(s1));//-1(because s3 <s1 ) } < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> 0 1 -1 </pre> <a href="/java-string-compareto">Click me for more about compareTo() method</a> <hr></s1>
Faceți clic pe mine pentru mai multe despre metoda compareTo().