<=
Оператор <= сравнивает два объекта String лексикографически и возвращает true, если левая строка идёт раньше правой по алфавиту или обе строки совпадают.
Полная статья
Описание
Оператор <= сравнивает два объекта String лексикографически — то есть так, как слова сравниваются в словаре: посимвольно, слева направо, по кодам символов. Результат true означает, что левая строка «идёт раньше» правой в алфавитном порядке или обе строки полностью совпадают.
Это удобно, например, когда нужно упорядочить список строк, сравнить введённую команду с допустимым диапазоном или проверить, не превышает ли пользовательский ввод некоторого «потолка».
Синтаксис
myString1 <= myString2
Параметры
myString1: объектString, стоящий слева от оператора — тот, который проверяется на «меньше или равно».myString2: объектString, стоящий справа — эталон для сравнения.
Возвращает
true, если myString1 лексикографически меньше либо равна myString2. Иначе возвращает false.
Практические замечания
- Регистр имеет значение. Символы верхнего регистра в таблице ASCII стоят раньше строчных, поэтому
"Z"будет «меньше»"a". Если регистр не важен, перед сравнением приведите обе строки к одному регистру. - Для проверки равенства двух строк привычнее и нагляднее использовать метод
==или операторequals()— они явно выражают намерение. - Пустая строка
""лексикографически меньше любой непустой строки, поэтому выражение"" <= "abc"вернётtrue. - Длина строк учитывается автоматически: если одна строка является префиксом другой (
"abc"и"abcd"), более короткая считается меньшей. - Оператор работает только с объектами типа
String. Для сравнения массивовchar[]используйте функциюstrcmp()из стандартной библиотеки C.