Ciąg równa się JavaScript
__main__ Python module |
ast Python module |
code Python module |
COM PHP module |
dis Python module |
Ev PHP module |
exp |
iat |
io Python module |
JavaScript |
operator Python module |
os Python module |
Python functions |
re Python module |
SPL PHP module |
StackOverflow |
stat Python module |
string Python module |
Strings PHP module |
UI PHP module
Michael Zippo
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!