String v Jave môžeme porovnať na základe obsahu a referencie.
Používa sa v Overenie (metódou equals()), triedenie (metódou CompareTo()), porovnávanie referencií (podľa operátora ==) atď.
Existujú tri spôsoby, ako porovnať reťazec v jazyku Java:
- Pomocou metódy equals().
- Pomocou operátora ==
- Metódou CompareTo().
1) Použitím metódy equals().
Metóda String class equals() porovnáva pôvodný obsah reťazca. Porovnáva hodnoty reťazca pre rovnosť. Trieda String poskytuje nasledujúce dve metódy:
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 } }Vyskúšajte to
Výkon:
true true false
Vo vyššie uvedenom kóde sa porovnávajú dva reťazce pomocou rovná sa() spôsob Reťazec trieda. A výsledok sa vytlačí ako boolovské hodnoty, pravda alebo falošný .
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 } }Vyskúšajte to
Výkon:
false true
Vo vyššie uvedenom programe sú metódy o Reťazec triedy sa používajú. The rovná sa() metóda vráti hodnotu true, ak sa objekty String zhodujú a oba reťazce majú rovnakú veľkosť písmen. equalsIgnoreCase() vráti true bez ohľadu na prípady reťazcov.
Kliknite sem pre viac informácií o metóde equals().2) Pomocou operátora ==
Operátor == porovnáva referencie, nie hodnoty.
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) } }Vyskúšajte to
Výkon:
true false
3) Porovnanie reťazcov metódou CompareTo().
Vyššie uvedený kód demonštruje použitie == operátor používaný na porovnanie dvoch Reťazec predmety.
3) Použitím metódy CompareTo().
Metóda String class CompareTo() porovnáva hodnoty lexikograficky a vracia celočíselnú hodnotu, ktorá popisuje, či je prvý reťazec menší, rovný alebo väčší ako druhý reťazec.
Predpokladajme, že s1 a s2 sú dva objekty typu String. Ak:
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>Kliknite na mňa pre viac informácií o metóde CompareTo().