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
- Pomocí metody equals().
- Pomocí operátora ==
- 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:
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:
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>Kliknutím na mě získáte další informace o metodě CompareTo().