Java String compareToIgnoreCase() сравнивает две строки лексикографически, игнорируя регистр. Для сравнений с учетом регистра используйте метод compareTo().
Функция compareToIgnoreCase() выполняет сравнение на основе значения Unicode каждого символа в строках.
1. API String.compareToIgnoreCase()
Функция compareToIgnoreCase() принимает только один аргумент, представляющий собой другую строку, которую необходимо сравнить с данной строкой.
public int compareToIgnoreCase(String str);
Результатом сравнения является целочисленное значение, где –
- положительное целое число – означает, что строковый объект лексикографически следует за строкой аргумента.
- отрицательное целое число – означает, что строковый объект лексикографически предшествует строке аргумента.
- ноль – означает, что обе строки равны.
2. Программа Java для сравнения строк без учета регистра
Следующая программа на Java сравнивает две строки без учета регистра, используя метод compareToIgnoreCase().
String name = "Alex";Assertions.assertEquals(0, name.compareToIgnoreCase("Alex"));Assertions.assertEquals(0, name.compareToIgnoreCase("alex"));Assertions.assertEquals(0, name.compareToIgnoreCase("ALEX"));Assertions.assertEquals(-1, name.compareToIgnoreCase("alexA"));Assertions.assertEquals(1, name.compareToIgnoreCase("ale"));
3. Разница между compareToIgnoreCase() и equalsIgnoreCase()
Различия между методами compareToIgnoreCase() и equalsIgnoreCase() следующие:
- CompareToIgnoreCase() сравнивает лексикографически(упорядочение по словарю), а equalsIgnoreCase() проверяет содержимое обеих строк. Хотя оба метода нечувствительны к регистру.
- Тип возвращаемого значения compareToIgnoreCase() — это целочисленный тип, заключающий, что строка больше, меньше или равна другой строке. Тип возвращаемого значения equalsIgnoreCase() — это логический, что означает, что обе строки равны или нет.
4. Заключение
В этом уроке Java мы узнали об API String.compareToIgnoreCase() и о том, как он лексикографически сравнивает заданную пружину с другой строкой аргумента. Мы также узнали о его различии с похожим на вид методом equalsIgnoreCase().
Ссылка: Документация по Java String