java string compareto method with programming examples
W tym samouczku dowiemy się o metodzie CompareTo () w języku Java i zobaczymy, jak i kiedy używać funkcji compareTo w języku Java wraz ze składnią i przykładami:
Zrozumiesz, jak manipulować ciągiem Java za pomocą metody CompareTo () w języku Java. Typy danych wyjściowych, które uzyskamy za pomocą metody compareTo () języka Java, zostaną również omówione w tym samouczku.
Po przeczytaniu tego samouczka z pewnością będziesz w stanie zrozumieć i napisać programy Java String, które wymagają metody .compareTo () do manipulowania ciągami znaków.
=> Sprawdź idealny przewodnik szkoleniowy języka Java tutaj.
Czego się nauczysz:
Metoda Java String compareTo ()
Metoda Java String compareTo () służy do sprawdzania, czy dwa ciągi znaków są identyczne, czy nie. Jak sama nazwa wskazuje, porównuje dwa podane ciągi i sprawdza, czy są one takie same, czy też który jest większy.
Zwracanym typem metody CompareTo () języka Java jest liczba całkowita, a składnia jest następująca:
int compareTo(String str)
W powyższej składni str jest zmienną typu String, która jest porównywana z wywołującym String.
Na przykład: String1.compareTo (String2);
Inną odmianą metody CompareTo () języka Java jest
int compareTo(Object obj)
W powyższej składni porównamy String z Object obj.
Na przykład ,String1.compareTo („To jest obiekt typu String”);
Tutaj „This is a String Object” jest argumentem, który przekazujemy do funkcji compareTo () i porównuje go z wartością String1.
Typy danych wyjściowych metody CompareTo () w języku Java
Dane wyjściowe mają trzy typy oparte na wartości wyjściowej.
Poniżej znajduje się tabela wyjaśniająca wszystkie trzy typy wartości wyjściowych.
compareTo () Wartość wyjściowa | Opis |
---|---|
Zero | Dwa ciągi są równe. |
Większe niż zero | Wywołujący String jest większy niż str. |
Mniej niż zero | Wywołujący String jest mniejszy niż str. |
Przyjrzyjmy się szczegółowo tym trzem wariantom na przykładzie.
Przykład programowania
Oto przykład metody CompareTo () w języku Java. Porównanie opiera się na różnicy wartości znaków ASCII. Ogólnie rzecz biorąc, ciąg znaków jest mniejszy od drugiego, jeśli znajduje się przed drugim w słowniku.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }
Wynik:
Wyjaśnienie przykładu
W powyższym przykładzie pobraliśmy pięć ciągów wejściowych i dokonaliśmy podstawowego porównania między nimi za pomocą metody Java .compareTo (). W pierwszym porównaniu mamy „A” większe od „G” o 6 znaków w serii alfabetu, więc zwraca +6. W drugim porównaniu mamy „C” mniejsze od „A” o 2 znaki, więc zwraca -2.
W ostatnim porównaniu (między str1 i str5), ponieważ oba ciągi są równe, zwraca 0.
Różne scenariusze
Przyjrzyjmy się szczegółowo metodzie .compareTo (). Tutaj postaramy się przeanalizować różne scenariusze i wyniki każdego przypadku.
Scenariusz 1: Rozważ następujące dwa ciągi. Porównamy je i zobaczymy wynik.
String str1 = „Testowanie oprogramowania”;
String str2 = „Pomoc w testowaniu oprogramowania”;
Jaki będzie wynik działania str1.compareTo (str2)?
Odpowiedź: Ponieważ str2 zawiera 5 znaków (jedna spacja + cztery znaki) więcej niż pierwszy ciąg. Wynik powinien wynosić -5. Podobnie, gdy porównujemy str2 z str1, wynik powinien wynosić +5.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }
Wynik:
Scenariusz 2: Rozważ następujące dwa ciągi. Porównamy je i zobaczymy wynik.
String str1 = „”;
Ciąg str2 = ”“;
jak wydrukować tablicę ciągów w java za pomocą pętli for
Jaki będzie wynik działania str1.compareTo (str2)?
Odpowiedź: Ponieważ str2 zawiera o jeden znak (spację) więcej niż słowo str1, powinno dać wynik jako -1.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }
Wynik:
Scenariusz 3: Rozważ następujące dwa ciągi. Porównamy je i zobaczymy wynik.
String str1 = „SAKET”;
String str2 = „saket”;
Jaki będzie wynik działania str1.compareTo (str2)?
Odpowiedź: Tutaj ciągi znaków są równe, ale słowo1 ma wielkie litery, podczas gdy słowo2 ma małe litery. To było ograniczenie metody CompareTo () języka Java. Wynik, który otrzymamy, będzie niezerowy. Aby rozwiązać ten problem, Java wprowadziła inną odmianę metody .compareTo (), którą jest
.compareToIgnoreCase ()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }
Wynik:
Metoda Java String compareToIgnoreCase ()
Ponieważ omówiliśmy problem dotyczący niezgodności wielkości liter (scenariusz3), mamy już inny wariant metody .compareTo (), który zignoruje niezgodność wielkości liter w łańcuchach znaków.
Składnia tej metody jest podana jako
int compareToIgnoreCase(String str)
Wszystko inne pozostaje takie samo, z wyjątkiem faktu, że .compareToIgnoreCase () nie bierze pod uwagę niedopasowania wielkości liter.
Przykład programowania
Oto przykład metody CompareTo () w języku Java. W tym przykładzie zilustrowaliśmy różnicę w wynikach funkcji Java compareTo () i compareToIgnoreCase (). Java compareTo () da różnicę -32, podczas gdy compareToIgnoreCase () da różnicę 0.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }
Wynik:
Wyjaśnienie przykładu:
W powyższym przykładzie wzięliśmy dwa ciągi, które mają tę samą wartość, zachowując jeden ciąg wielkimi literami, a drugi małymi. Teraz metoda Java .compareTo () dostarczy wyniki w oparciu o różnicę ASCII w wartości małych i wielkich liter, ponieważ uwzględni wielkość znaków.
Ale Java .compareToIgnoreCase () nie będzie uwzględniać wielkości liter i da wynik jako 0, co oznacza, że oba ciągi znaków są równe.
Często Zadawane Pytania
P # 1) Jaka jest różnica między ==, equals i .compareTo ()?
Odpowiedź: Poniżej wymieniono główne różnice między ==, equals () i compareTo ().
!BŁĄD! nieoczekiwany operator „=” | równa się() | porównać do() |
---|---|---|
!BŁĄD! nieoczekiwany operator „=” | equals () jest metodą. | compareTo () jest metodą. |
!BŁĄD! nieoczekiwany operator „=” | equals () wykonuje porównanie zawartości. | compareTo () wykonuje porównanie na podstawie wartości ASCII. |
Zwracany typ to Boolean. | Zwracany typ to Boolean. | Typ zwracanej wartości to liczba całkowita. |
Używa odwołania do zmiennej String, więc adresy pamięci powinny być takie same podczas porównywania. | Nie wymaga logicznego uporządkowania obiektów. | Wymaga logicznego uporządkowania obiektów. |
Oto przykład programowania ilustrujący różnicę.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }
Wynik:
Pytanie 2) Czy metoda compareTo () w języku Java rozróżnia wielkość liter?
Odpowiedź: Tak. Metoda Java .compareTo () uwzględnia wielkość liter i rozróżnia wielkość liter.
Poniżej znajduje się ilustracja.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Wynik:
jakie jest najlepsze oprogramowanie do zamiany tekstu na mowę
Pytanie nr 3) Jak działa compareTo () w Javie?
Odpowiedź: Metoda Java compareTo () faktycznie porównuje wartości ASCII znaków łańcucha.
Powiedzmy, że porównamy przecinek i spację za pomocą metody .compareTo (). Jak wiemy, znak spacji ma wartość ASCII 32, podczas gdy przecinek ma wartość ASCII 44. Różnica między wartością ASCII spacji i przecinka wynosi 12.
Poniżej znajduje się przykład programowania.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Wynik:
Q # 4) Jak znaleźć długość łańcucha za pomocą metody Java .compareTo ()?
Odpowiedź: Poniżej podano program do znajdowania długości łańcucha za pomocą metody Java .compareTo ().
W tym przykładzie wzięliśmy jeden ciąg, którego długość musimy znaleźć i pusty ciąg. Następnie porównaliśmy String z pustym Stringiem. Różnicą między nimi będzie długość struny.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Wynik:
P # 5) Co zwraca metoda compareTo?
Odpowiedź: Typ zwracany przez metodę Java CompareTo () to liczba całkowita. Wartością całkowitą może być zero, dodatnia liczba całkowita lub ujemna liczba całkowita.
Wniosek
W tym samouczku szczegółowo poznaliśmy metodę Java String compareTo (). Podstawowa funkcjonalność, szczegóły dotyczące implementacji i zastosowania, zwłaszcza przykłady programowania, zostały podane w celu lepszego zrozumienia koncepcji związanej z metodą String compareTo ().
Przeczytaj także = >> Interfejsy porównywalne i porównywalne w języku Java
Korzystając z tej metody, możesz porównać dwa ciągi i wiele innych zastosowań lub obszarów zastosowań, takich jak znalezienie długości ciągu, jest również możliwe za pomocą metody compareTo (), która została omówiona w często zadawanych pytaniach.
=> Odwiedź tutaj ekskluzywną serię samouczków szkoleniowych Java.
rekomendowane lektury
- Samouczek dotyczący ciągów Java | Metody ciągów Java z przykładami
- Metoda Java String Split () - Jak podzielić ciąg w Javie
- Ciąg Java z buforem ciągów i samouczek dotyczący tworzenia ciągów
- Funkcje łańcuchowe w Pythonie
- Java String Array - samouczek z przykładami kodu
- Interfejs ListIterator w Javie z przykładami
- Interfejs Java i samouczek klasy abstrakcyjnej z przykładami
- OOP Java: Wprowadzenie do programowania obiektowego w Javie