Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Освоение String.compareTo() в Java: синтаксис, сценарии использования и примеры

Что такое compareTo() в Java?

compareTo() сравнивает две строки лексикографически. Каждый символ конвертируется в его Unicode-значение, метод возвращает int, указывающий относительный порядок. Если строки идентичны — возвращает 0; иначе результат отрицательный, если первая строка предшествует второй, или положительный — если следует за ней.

Метод определён в интерфейсе java.lang.Comparable.

Синтаксис

public int compareTo(String str)

Параметр: str — строка для сравнения с вызывающей строкой.

Возвращаемое значение: int — отрицательный, ноль или положительный в зависимости от лексикографического порядка.

Пример 1: Базовое использование

public class SampleString {
    public static void main(String[] args) {
        String str = "a";
        System.out.println("Compare \"a\" to \"b\": " + str.compareTo("b"));
        str = "b";
        System.out.println("Compare \"b\" to \"a\": " + str.compareTo("a"));
        str = "b";
        System.out.println("Compare \"b\" to \"b\": " + str.compareTo("b"));
    }
}

Вывод

Пояснение:

Пример 2: Чувствительность к регистру vs нечувствительность

public class SampleString {
    public static void main(String[] args) {
        String str = "RockStar";
        System.out.println("Case-sensitive compare to \"rockstar\": " + str.compareTo("rockstar"));
        System.out.println("Case-insensitive compare to \"ROCKSTAR\": " + str.compareToIgnoreCase("ROCKSTAR"));
    }
}

Вывод

Когда использовать compareTo()

Используйте compareTo() когда нужен естественный (лексикографический) порядок строк, напр. сортировка списка имён или словарный поиск. Метод следует тем же правилам, что String.compareToIgnoreCase(), но учитывает регистр.

Типичные сценарии:

Пример 3: Практическое сравнение

public class CompareDemo {
    public static void main(String[] args) {
        String s1 = "Guru1";
        String s2 = "Guru2";
        System.out.println("String 1: " + s1);
        System.out.println("String 2: " + s2);
        int result = s1.compareTo(s2);
        if (result < 0) {
            System.out.println("\"" + s1 + "\" is lexicographically higher than \"" + s2 + "\"");
        } else if (result == 0) {
            System.out.println("\"" + s1 + "\" is lexicographically equal to \"" + s2 + "\"");
        } else {
            System.out.println("\"" + s1 + "\" is lexicographically less than \"" + s2 + "\"");
        }
    }
}

Вывод

java

  1. Метод String.length() в Java: как получить длину строки (пример)
  2. Освоение String.indexOf() в Java: поиск подстрок и практические примеры
  3. Понимание String.charAt() в Java: синтаксис, возвращаемый тип, исключения и пример
  4. Метод String.contains() в Java: как проверить наличие подстроки — примеры
  5. Освоение String.endsWith() в Java: проверка суффиксов строки с примерами
  6. Замена строк в Java: replace(), replaceAll() и replaceFirst() подробно
  7. Чтение файлов в Java с BufferedReader — Практическое руководство с примерами
  8. Конвертация char в String в Java — практические примеры и лучшие практики
  9. Реверс строки в Java с использованием рекурсии — пошаговое руководство
  10. Функция print() в Python: практическое руководство с примерами