Możemy porównać String w Javie na podstawie treści i odniesienia.
Jest używany w uwierzytelnianie (metodą równości()), sortowanie (metodą CompareTo()), dopasowanie referencyjne (przez == operator) itp.
Istnieją trzy sposoby porównywania ciągów w Javie:
- Za pomocą metody równości().
- Używając operatora ==
- Za pomocą metody CompareTo().
1) Za pomocą metody równości().
Metoda klasy String równa się() porównuje oryginalną zawartość ciągu. Porównuje wartości ciągu znaków pod kątem równości. Klasa String udostępnia dwie następujące metody:
Porównanie ciągów testowych1.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 } }Przetestuj teraz
Wyjście:
true true false
W powyższym kodzie dwa ciągi znaków są porównywane za pomocą równa się() metoda Strunowy klasa. Wynik jest drukowany jako wartości logiczne, PRAWDA Lub FAŁSZ .
Porównanie ciągów testowych2.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 } }Przetestuj teraz
Wyjście:
false true
W powyższym programie metody Strunowy klasy są używane. The równa się() Metoda zwraca wartość true, jeśli obiekty String są zgodne i oba ciągi mają tę samą wielkość liter. równaIgnoreCase() zwraca wartość true niezależnie od wielkości liter.
Kliknij tutaj, aby uzyskać więcej informacji na temat metody równości().2) Używając operatora ==
Operator == porównuje odniesienia, a nie wartości.
Porównanie ciągów testowych3.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) } }Przetestuj teraz
Wyjście:
true false
3) Porównanie ciągów metodą CompareTo().
Powyższy kod demonstruje użycie == operator używany do porównywania dwóch Strunowy obiekty.
3) Za pomocą metody CompareTo().
Metoda CompareTo() klasy String porównuje wartości leksykograficznie i zwraca wartość całkowitą, która opisuje, czy pierwszy ciąg jest mniejszy, równy lub większy od drugiego.
Załóżmy, że s1 i s2 są dwoma obiektami typu String. Jeśli:
Porównanie ciągów testowych4.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>Kliknij mnie, aby dowiedzieć się więcej o metodzie CompareTo().