CodeGym /Blog Java /Random-PL /Metoda porównania łańcucha Java z metodą CompareTo().
John Squirrels
Poziom 41
San Francisco

Metoda porównania łańcucha Java z metodą CompareTo().

Opublikowano w grupie Random-PL

Co to jest metoda Java String CompareTo()?

Metoda CompareTo() klasy string Java zwraca wartość 0, jeśli oba ciągi są leksykograficznie równe. Jeśli porównywany ciąg jest większy leksykograficznie, zwracana jest wartość dodatnia, w przeciwnym razie zwracana jest wartość ujemna. Zatem metoda Java string CompareTo() służy do porównywania dwóch ciągów. Ta metoda zawsze używa wartości Unicode każdego znaku w ciągu do ich porównania. Podczas porównywania ciągów, jeśli którykolwiek z nich jest pusty, zawsze zwraca długość ciągu. Jeśli którykolwiek z ciągów jest pusty, mogą rozegrać się dwa scenariusze. Jeśli pierwszy ciąg jest pusty, zwraca wartość ujemną, w przeciwnym razie zwraca wartość dodatnią. W metodzie Java string.compareTo() domyślnie rozróżniana jest wielkość liter, ale możemy użyć metody CompareToIgnoreCase() klasy Java String , aby zignorować wielkość liter podczas porównania. Ta metoda zwraca również ujemną, 0 lub dodatnią liczbę całkowitą, jak opisano powyżej.

Składnia

public int compareTo(string str)
public int compareTo(object obj)

Parametry

Metoda Java string CompareTo() odbiera ciąg znaków lub obiekt jako parametr, jak widać powyżej w składni.

Zwroty

  1. Zwraca 0, jeśli oba są leksykograficznie równe.
  2. Zwraca dodatnią liczbę całkowitą, jeśli porównywany ciąg lub obiekt jest większy pod względem leksykograficznym.
  3. Zwraca ujemną liczbę całkowitą, jeśli jedna z porównywanych jest mniejsza leksykograficznie.

Wyjątki

Metoda CompareTo () zwraca 2 wyjątki.
  • ClassCastException , jeśli obiektu nie można porównać, zwraca ten wyjątek.
  • NullPointerException , jeśli ciąg ma wartość null, zgłaszany jest wyjątek NullPointerException.

Przykłady metod metody CompareTo() w języku Java

class Main {
  public static void main(String[] args) {
    // declaring strings to be used in this example for Java string     compareTo() method
    String str = "Java compareTo() method example";
    String str1 = "Java compareTo() method example";
    String str2 = "this is Java compareTo() method example";
    String str3 = "Java CompareTo() Method Example";
    String str4 = "a Java compareTo() method example";
    String str5 = new String("Java compareTo() method example");

    // comparing the str and str1 strings
    System.out.println(str.compareTo(str1));

    // comparing the str and str2 strings
    System.out.println(str.compareTo(str2));

    // comparing the str and str3 strings
    System.out.println(str.compareTo(str3));

    // comparing the str and str4 strings
    System.out.println(str.compareTo(str4));

    // comparing the str string and str5 string object
    System.out.println(str.compareTo(str5));
  }
}

Wyjście

0 -42 74 -23 0
Jak wiemy, że ciągi str i str1 są sobie równe leksykograficznie, więc zwróciło 0. Porównując str i str2 zwróciło wartość ujemną 42, ponieważ porównywany ciąg str jest mniejszy leksykograficznie, więc jest liczbą ujemną i na podstawie wartości Unicode t char i J char ma różnicę 42, więc zwracana jest wartość -42. W pozostałej części możesz zobaczyć wyniki, aby lepiej zrozumieć tę metodę.

Przykład pustego ciągu

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring an empty string
        String str1="";
        String str2="method";

        System.out.println(str.compareTo(str1));
        System.out.println(str1.compareTo(str2));
    }
}

Wyjście

11 -6

Przykład IgnoreCase

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring the same string with uppercase letters
        String str1="COMPARETO()";

        System.out.println(str.compareTo(str1));
        System.out.println(str.compareToIgnoreCase(str1));
    }
}

Wyjście

32 0

Wniosek

Mamy nadzieję, że już rozumiesz, czym jest metoda Java string CompareTo() i jak ją zaimplementować do porównywania ciągów, a także różne przypadki jej użycia, takie jak porównywanie pustych ciągów i ignorowanie rozróżniania wielkości liter. Możesz ćwiczyć i wrócić, gdy będziesz potrzebować dodatkowej pomocy. Miłej nauki!
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION