Ciąg równa się JavaScript

| | | | | | | | | | | | | | | | | | |

Istnieją trzy sposoby porównywania ciągów w Javie. Metoda Java equals () porównuje dwa ciągi znaków, operator równości == porównuje dwa ciągi, a metoda compareTo () zwraca liczbę różnica między dwoma ciągami.

Porównywanie ciągów jest kluczową częścią pracy z ciągami w Javie. Na przykład, jeśli tworzysz aplikację do kawy, która sprawdza, kto zamówił ten napój, możesz porównać ją z tym, co masz w aktach.

nazwa klienta W tym samouczku omówimy, z odniesieniami i przykładami, jak do porównywania ciągów znaków w Javie. Omówimy trzy główne opcje używane do porównywania ciągów znaków i zbadamy ograniczenia operatora == podczas porównywania ciągów w Javie.

Pod koniec czytania tego samouczka poznasz Będę ekspertem w porównywaniu łańcuchów w Javie.

Strony Javy

Strony są używane do przechowywania danych tekstowych w programowaniu. Łańcuchy w Javie są definiowane jako sekwencje znaków w cudzysłowie. Oto przykład ciągu znaków w Javie:

W tym przykładzie deklarujemy ciąg o nazwie day, który przechowuje wartość Poniedziałek.

Co jeśli chcieliśmy porównać ciąg przez inny ciąg? Istnieją trzy główne metody, których można użyć do porównywania ciągów w Javie. Są to:

  • Używanie operatora ==
  • Używanie equals () i equalsIgnoreCase ()
  • Korzystanie z metod compareTo () i compareToIgnoreCase ()

Porównaj ciągi za pomocą ==

== operator, znany pod nazwą operatora równości, służy do porównywania dwóch ciągów znaków w Javie.

Załóżmy, że prowadzimy kawiarnię i chcemy porównać, czy nazwa klienta jest zgodna z tą, którą powiązaliśmy z konkretnym zamówieniem. Możemy porównać te nazwy za pomocą następującego kodu:

Nasz kod zwraca:

Przerwij od zstąpienia naszego kodu. Najpierw deklarujemy klasę o nazwie CompareNames, która przechowuje kod naszego programu. Następnie deklarujemy zmienną orderName, która przechowuje nazwę powiązaną z konkretnym zamówieniem oraz zmienną o nazwie customerName, która przechowuje nazwę klienta, który szuka swojego napoju.

>

Następnie używamy Instrukcja if i operator równości for przed wartością orderName i wartością customerName. wiersz kodu, który wykonuje to porównanie:

Jeśli wartości „Ęã‚Ęãsą przechowywane w orderName i nazwa klienta są takie same, ponieważ w tym przypadku komunikat nazwa klienta odpowiada nazwie zamówienia. jest drukowany w konsoli. W przeciwnym razie komunikat Nazwa klienta nie jest zgodna z nazwą zamówienia. jest wydrukowana w konsoli.

string Porównaj obiekty za pomocą ==

W powyższym przykładzie, zadeklarowaliśmy dwa łańcuchy i uti Odczytaj operator ==, aby je porównać. Jednak to podejście nie działa podczas porównywania dwóch obiektów łańcuchowych.

Oto co się stanie, jeśli spróbujemy porównać dwa obiekty łańcuchowe za pomocą operatora ==:

Nasz kod zwraca:

Mimo że przypisujemy wartość ciągu James do dwóch obiektów ciągu, program nie traktuje ich tak samo. Dzieje się tak, ponieważ program nie porównuje wartości ciągów, ale same obiekty.

W naszym kodzie zadeklarowaliśmy dwa obiekty ciągów, z których każdy ma odniesienia do różnych obiektów. Więc kiedy próbujemy je porównać za pomocą ==, traktują nasz program jako różne obiekty.

Porównaj ciągi za pomocą równań ()

Ciąg Javy equals () porównuje dwa ciągi znaków w Javie

Obawia się z przykładem kawy. chcemy porównać nazwę, którą skojarzyliśmy z zamówieniem kawy i nazwę klienta. Możemy to zrobić za pomocą tego kodu:

Nasz kod zwraca:

W tym przykładzie używamy equals() do porównania wartości ‚Ęã‚Ęãof lub rderName i customerName .

Przypisujemy wartość equals () do wartości logicznej o nazwie AreEqual. Jeśli AreEqual true, konsola wyświetli komunikat wskazujący, że Nazwa klienta odpowiada nazwie zamówienia. w przeciwnym razie, jeśli AreEqual zwróci false, na konsoli zostanie wydrukowany komunikat wskazujący, że Nazwa klienta nie jest zgodna z nazwą zamówienia. . W tym przypadku orderName i customerName są takie same, AreEqual jest równe true.

Możesz użyć equalsIgnoreCase () w taki sam sposób jak equals () do porównywania ciągów. Jedyna różnica między equals () i equalsIgnoreCase () polega na tym, że ta ostatnia porównuje dwa ciągi niezależnie od ich wielkości liter, podczas gdy w pierwszym jest rozróżniana wielkość liter.

Jeśli chcesz dowiedzieć się więcej o ciągu znaków equals (), przeczytaj nasz samouczek na ten temat.

Porównaj ciągi znaków za pomocą CompareTo ()

Java compareTo() string metoda służy do leksykograficznego porównania dwóch ciągów znaków

metodacompareTo() porównuje wartość Unicode każdego znaku w dwóch porównywanych ciągach. compareTo () zwraca 0, jeśli ciąg jest równy innemu ciągowi, mniej niż 0, jeśli ciąg ma mniej znaków niż drugi ciąg, i większe niż 0, jeśli ciąg ma więcej niż znaków niż drugi ciąg string.

Załóżmy, że chcemy ssicograficznie porównać nazwy naszych klientów stołówki z nazwą, którą kojarzymy ze szklanką, którą może to zrobić za pomocą tego kodu:

Nasz kod zwraca:

W tym przykładzie nasz code używa compareTo() do porównania wartości customerName z wartością orderName code>, w tym przypadku wartością orderName, James, nie odpowiada wartości CustomerName, Bill.

Od orderName ma więcej znaków niż customerName, nasz kod zwraca wartość większą niż 0, równą różnicom Unicode w naszych dwóch ciągach.

Dodatkowo Metoda CompareTo() rozróżnia wielkość liter . Jeśli chcesz porównać ciągi leksykograficzne niezależnie od wielkości liter w ciągach, możesz użyć metody compareToIgnoreCase (). Składnia metody compareTo () i compareToIgnoreCase () jest taka sama.

Wniosek

Porównywanie wartości „Ęã” Ęãprzechowywane w dwóch ciągach to powszechna operacja w Javie.

Ten samouczek wyjaśnia, jak porównywać dwa ciągi za pomocą operatora równości (==), equals () i metoda compareTo () . Omówiliśmy również ograniczenia operatora równości podczas porównywania obiektów. Pokazaliśmy również przykład działania każdej z tych metod.

Masz teraz umiejętności, aby rozpocząć porównywanie ciągów znaków w Javie jak profesjonalny programista!