Главная chevron_right Переменные и константы chevron_right Типы данных chevron_right equalsIgnoreCase()

equalsIgnoreCase()

Метод equalsIgnoreCase() сравнивает две строки типа String без учёта регистра — "Hello", "HELLO" и "hello" считаются равными.

Полная статья

Описание

Метод equalsIgnoreCase() сравнивает две строки типа String без учёта регистра. Это означает, что "Hello", "HELLO" и "hello" считаются одинаковыми. Такое поведение удобно, когда пользователь вводит команды через Serial Monitor или другой интерфейс, и вы хотите принять их в любом написании — строчными, заглавными или вперемешку.

Если вам нужно строгое сравнение с учётом регистра, используйте метод equals().

Синтаксис

myString.equalsIgnoreCase(myString2)

Параметры

  • myString: переменная типа String — строка, у которой вызывается метод
  • myString2: переменная типа String — строка, с которой производится сравнение

Возвращает

  • true: если myString равна myString2 без учёта регистра
  • false: если строки различаются

Где применяется

  • Разбор команд, которые пользователь вводит через Serial: например, "START", "start" и "Start" обрабатываются одинаково.
  • Сравнение ответов от внешних модулей (GSM, Wi-Fi), где регистр в ответе может меняться.
  • Обработка пользовательского ввода с кнопок или клавиатуры, когда регистр заранее неизвестен.
  • Проверка паролей или кодов доступа, если регистр не важен для вашей задачи.

Практические замечания

  • Метод сравнивает только содержимое строк, пробелы и другие символы при этом учитываются. Строка "hello " не равна "hello".
  • Если одна из строк пустая (""), метод вернёт true только в том случае, если вторая тоже пустая.
  • Метод не изменяет исходные строки — myString и myString2 остаются нетронутыми после вызова.
  • Если myString2 не объявлена или не инициализирована, компилятор выдаст ошибку — убедитесь, что обе переменные существуют до сравнения.
  • Результат удобно использовать напрямую в условии if: if (myString.equalsIgnoreCase(myString2)) { ... }