logo

Porovnanie Java String

porovnanie java reťazcov

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:

  1. Pomocou metódy equals().
  2. Pomocou operátora ==
  3. 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:

    verejný boolovský rovná sa (objekt iný)porovnáva tento reťazec so zadaným objektom.public boolean rovná saIgnoreCase(reťazec iný)porovnáva tento reťazec s iným reťazcom, pričom ignoruje malé a veľké písmená.

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:

    s1 == s2: Metóda vráti 0.s1 > s2: Metóda vracia kladnú hodnotu.s1: Metóda vracia zápornú hodnotu.

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>
Kliknite na mňa pre viac informácií o metóde CompareTo().