logo

Java String porovnat

srovnání java řetězců

String v Javě můžeme porovnat na základě obsahu a reference.

Používá se v autentizace (metodou equals()), třídění (metodou CompareTo()), referenční shoda (podle operátora ==) atd.

Existují tři způsoby, jak porovnat String v Javě:

systémový software
  1. Pomocí metody equals().
  2. Pomocí operátora ==
  3. Metodou CompareTo().

1) Pomocí metody equals().

Metoda String class equals() porovnává původní obsah řetězce. Porovnává hodnoty řetězce pro rovnost. Třída String poskytuje následující dvě metody:

    public boolean rovná se (objekt jiný)porovná tento řetězec se zadaným objektem.public boolean rovná seIgnoreCase(řetězec jiný)porovná tento řetězec s jiným řetězcem, ignoruje velká a malá písmena.

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 } } 
Otestujte to hned

Výstup:

 true true false 

Ve výše uvedeném kódu jsou dva řetězce porovnávány pomocí rovná se() metoda Tětiva třída. A výsledek se vytiskne jako booleovské hodnoty, skutečný nebo Nepravdivé .

Teststringcomparison2.java

konkretizace v Javě
 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 } } 
Otestujte to hned

Výstup:

 false true 

Ve výše uvedeném programu jsou metody Tětiva třídy se používají. The rovná se() metoda vrací hodnotu true, pokud se objekty String shodují a oba řetězce mají stejná velká a malá písmena. equalsIgnoreCase() vrací true bez ohledu na případy řetězců.

Kliknutím sem zobrazíte další informace o metodě equals().

2) Pomocí operátoru ==

Operátor == porovnává reference, nikoli hodnoty.

stav git

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) } } 
Otestujte to hned

Výstup:

 true false 

3) Porovnání řetězců metodou CompareTo().

Výše uvedený kód demonstruje použití == operátor použitý pro porovnání dvou Tětiva objektů.


3) Pomocí metody CompareTo().

Metoda String class CompareTo() porovnává hodnoty lexikograficky a vrací celočíselnou hodnotu, která popisuje, zda je první řetězec menší, roven nebo větší než druhý řetězec.

Předpokládejme, že s1 a s2 jsou dva objekty typu String. Li:

    s1 == s2: Metoda vrací 0.s1 > s2: Metoda vrací kladnou hodnotu.s1: Metoda vrací zápornou 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>
Kliknutím na mě získáte další informace o metodě CompareTo().