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:
- Folosind metoda equals().
- Prin utilizarea == Operator
- 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:
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ă:
Teststringcomparison4.java
class Teststringcomparison4{ public static void main(String args[]){ String s1='Sachin'; String s2='Sachin'; String s3='Ratan'; System.out.println(s1.compareTo(s2));//0 System.out.println(s1.compareTo(s3));//1(because s1>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().