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

== (comparison)

Оператор == сравнивает содержимое двух объектов String с учётом регистра: "hello" и "HELLO" считаются разными строками.

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

Описание

Оператор == позволяет проверить, совпадает ли текст двух объектов String. Если строки содержат абсолютно одинаковые символы в одинаковом регистре, результат будет true. Сравнение регистрозависимое: строки "hello" и "HELLO" считаются разными, потому что буквы в них написаны по-разному.

Это удобно, когда нужно, например, сравнить команду, пришедшую через Serial, с ожидаемым словом, или проверить, совпадает ли введённый пользователем текст с заранее заданным значением.

Синтаксис

myString1 == myString2

Параметры

  • myString1: первый объект String, с которым ведётся сравнение.
  • myString2: второй объект String, с которым сравнивается первый.

Возвращает

  • true — если обе строки содержат одинаковый текст.
  • false — если строки хотя бы в одном символе отличаются, в том числе по регистру.

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

  • Если регистр не важен и нужно считать "Hello" и "hello" равными, используйте метод equalsIgnoreCase() вместо оператора ==.
  • Будьте осторожны с C-строками (char[]): для них оператор == сравнивает не текст, а адреса в памяти, и почти всегда вернёт false, даже если строки визуально одинаковы. Описанное на этой странице поведение относится исключительно к объектам String.
  • Если данные приходят через Serial.readString() или аналогичные функции, строка может содержать лишние символы — например, '\n' или '\r' в конце. В этом случае сравнение вернёт false даже при внешне одинаковом тексте. Перед сравнением стоит вызвать trim().
  • Оператор == работает только с объектами типа String. Числа, символы и другие типы сначала нужно явно привести к String или использовать другие способы сравнения.