„The ComporteTo () to metoda obsługiwana przez klasę ciągów Java dla porównania ciągów. Ta metoda porównuje sznur leksykograficznie, co oznacza w kolejności alfabetycznej. Porównanie łańcucha zależy od wartości Unicode przypisanej do każdego znaku ciągu. Wartość zwracana metody CompompetO () to wartość liczb całkowita, która może być dodatnia, ujemna lub zerowa. Pozytywna liczba całkowita jest uzyskiwana, gdy znaki pierwszego strefy są znakami wyższymi niż postacie drugiego stopnia. Negatywna liczba całkowita jest zwracana, gdy pierwszy ciąg jest niższy niż drugi ciąg przy użyciu kolejności alfabetyczny."
Przykład 1
W tym konkretnym przykładzie używamy metody Java Compareto (), aby pokazać, w jaki sposób ta metoda porównuje ciąg w kolejności alfabetycznej.
Mamy główny program w klasie „Comparetocase1”. Tutaj zadeklarowaliśmy trzy zmienne zatytułowane „S1”, „S2” i „S3”. Zmienne zawierają ciąg słów, w których „S1” i „S2” mają ten sam ciąg. „S3” jest inicjowany inną łańcuchem. Następnie powołaliśmy metodę Compareto (), w której przekazaliśmy zmienne „S2” i „S3” jako argument. Metoda Compareto porównuje te ciągami z ciągiem „S1” i drukuje wyniki.
Mamy wartość całkowitą „0” uzyskaną z metody porównawczej, ponieważ ciąg „S1” i „S2” mają tę samą zawartość. Z drugiej strony mamy wartość ujemną „-7” z porównania „S1” i „S3”, ponieważ nie są takie same, a „S3” pojawia się po „S1” zgodnie z kolejnością alfabetyczną lub słownikową.
Przykład 2
Metoda Compareto Java jest również wrażliwa na przypadki podczas porównywania ciągów. Mamy przykładowy program, który określa czułość przypadku metody porównawczej.
Ustanowiliśmy klasę „Comparetocazę2” do określania czułości przypadków metody String Compompeto (). Przypisaliśmy ciąg w wielkim poziomie do zmiennej „MyString”. Następnie ciąg.na zewnątrz.Metoda println jest wdrażana dla metody Compareto. Metoda porównawcza porównuje określony ciąg z ciągiem przekazanym jako argument małej litery. W kolejnej instrukcji drukowania wprowadzamy ciąg wieloletnich w metodzie CompareToignoCase (). Metoda CompompetOignoCaze pomaga nam zignorować czułość przypadku ciągów porównawczych w wyjściu.
Ciąg jest porównywany z ciągiem metody porównawczej i generuje wynik liczby całkowitej negatywnej „-32”. Stąd metoda porównawcza jest metodą wrażliwą na przypadek. Ale kiedy używamy ComparETOignoCaze, wynikową wartością jest liczba całkowita, co oznacza, że przypadek jest ignorowany.
Przykład 3
Teraz sprawdzamy równoważność ciągów za pomocą metody Compareto. W tym celu musimy użyć metody warunkowej w naszym programie.
Mamy główną deklarację metody w klasie „Comparetocase3”. Stworzyliśmy tam dwa struny, które są zdefiniowane jako „MYSTR1” i „MYSTR2”. Przechowywaliśmy różne struny w obu zmiennych. Strings można wyświetlić metodą drukowania Java na konsoli. Następnie zastosowaliśmy blok if-else. Mamy warunek „jeśli”, w którym dostarczyliśmy metodę Compareto. „Mystr2” jest używany jako parametr wewnątrz metody porównawczej i porównany z ciągiem „Mystr1”. Jeśli te ciągi są dopasowane do siebie, wyniki są „0”, a instrukcja bloku „Jeśli” zostanie wykonana. W przeciwnym razie mamy inne wykonanie bloków.
Wyniki porównania ciągów wyświetlały stwierdzenie, że ciągnie nie są równe na poniższej konsoli, ponieważ dostarczyliśmy różne ciągi.
Przykład 4
Chociaż metoda Compareto Java wykonuje to samo dla porównania ciągu, który ma inną długość, rozważmy to stwierdzenie dla poniższego programu.
Snippet kodowy ma klasę „Comparetocase4”, w której zaimplementowaliśmy główną metodę programu. Tutaj zastosowaliśmy metodę drukowania Java i przekazaliśmy ciąg znaku „Y”, który jest porównywany z ciągiem wewnątrz metody Compareto. Ciąg znaków pozostaje taki sam, ale zmieniliśmy długość łańcucha, podając nowe struny zawierające ten sam znak „y”. Następnie porównaliśmy ciąg liczby całkowitej z ciągiem liczbowym o różnych długościach określonych w metodzie Compareto. Wyniki zostaną wydrukowane po wykonaniu każdej instrukcji drukowania za pomocą metody Compareto.
Różne wyniki różnorodnych długości ciągów są wyświetlane poniżej.
Przykład 5
Metoda Compareto generuje również błąd „nullPointerException” przez kompilatora. Ten błąd jest rzucany, gdy metoda Compareto przyjmuje wartość zerową jako argument.
Mamy klasę „Comparetocase5”, która napędza główny program. W głównym bloku Java zdefiniowaliśmy zmienną „str_val1”, która utrzymuje ciąg. Następnie zdefiniowaliśmy inną zmienną „str_val2”, która zawiera wartość „null”. Ciągi są wymagane do porównania w „systemie.na zewnątrz.Metoda println ”. Tam stosuje się również metodę porównawczą. Porównaliśmy „str_val1” z „str_val2”. Wyniki wykonania zostaną pokazane na konsoli.
Po porównywaniu tych ciągów podnosi wyjątek wyjścia „nullPointerException” jako ciąg użyty jako parametr wewnątrz metody porównawczej ma wartość zerową.
Przykład 6
Ponadto mamy inny przypadek wyjątku dotyczącego metody String Compareto. ClasscastException jest podniesiony, gdy mamy niespójne typy obiektów do porównania.
Zbudowaliśmy klasę jako „pracowników”, w której zdefiniowaliśmy obiekt „emp_name”, a także nazwaliśmy konstruktora „pracownika” klasy. „Nazwa emp_name” jest zdefiniowana za pomocą obiektu „Stringis” wywołanego w konstruktorze. Następnie mamy główną metodę w klasie „Comparetocase6”. Określiliśmy nazwiska niektórych pracowników, nazywając klasę „pracownikami”. Dodaliśmy nazwę pracownika za pomocą metody Add. Następnie mamy operację wyszukiwania binarnego porównania ciągu nazw pracowników z innym ciągiem.
Wykonanie powyższego programu spotyka się z wyjątkiem ClasscastException, ponieważ dostarczony ciąg jest niezgodny.
Wniosek
Metoda Compareto jest stosowana do porównywania łańcucha poprzez przestrzeganie kolejności słownika i zwracanie oczekiwanych wyjść. Widzieliśmy wiele scenariuszy z przykładowym programem, w którym metoda Compareto działa inaczej. Scenariusz wrażliwy na przypadki jest również zaimplementowany dla metody Compareto, a sposób zignorowania przypadków wrażliwych na przypadki. Ponadto mamy przypadki wyjątku CompompetO (), których możemy uniknąć, wykorzystując metodę Compareto () w Javie.