logo

Porównanie ciągów Java

porównanie ciągów Java

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:

  1. Za pomocą metody równości().
  2. Używając operatora ==
  3. 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:

    publiczna wartość logiczna równa się (obiekt inny)porównuje ten ciąg z określonym obiektem.publiczna wartość logiczna równaIgnoreCase(Ciąg inny)porównuje ten ciąg z innym ciągiem, ignorując wielkość liter.

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:

    s1 == s2: Metoda zwraca 0.s1 > s2: Metoda zwraca wartość dodatnią.s1: Metoda zwraca wartość ujemną.

Porównanie ciągów testowych4.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>
Kliknij mnie, aby dowiedzieć się więcej o metodzie CompareTo().