< (less thans)
Оператор < сравнивает два объекта String лексикографически и возвращает true, если левая строка стоит «раньше» правой по алфавиту.
Полная статья
Описание
Оператор < выполняет лексикографическое сравнение двух объектов String: он проверяет, стоит ли левая строка «раньше» правой, если расставлять их по алфавиту. Под капотом сравниваются числовые коды символов один за другим, слева направо, пока не встретится различие или одна из строк не закончится.
Это удобно, когда нужно отсортировать строки, проверить алфавитный порядок или реализовать простое меню с текстовыми командами.
Синтаксис
myString1 < myString2
Параметры
myString1: объектString, стоящий слева от оператора — тот, который проверяется на «меньшесть».myString2: объектString, стоящий справа — эталон для сравнения.
Возвращает
true, если myString1 лексикографически меньше myString2, иначе false.
Практические замечания
- Регистр имеет значение. Заглавные буквы латиницы имеют меньший код, чем строчные, поэтому
"Apple" < "apple"дастtrue, хотя по-русски мы бы считали их «одинаковыми» по алфавиту. - Сравнение идёт посимвольно. Строки
"abc"и"abd"различаются только в третьем символе — именно он и определит результат. - Длина строки тоже влияет. Если одна строка является префиксом другой (
"abc"и"abcd"), более короткая считается «меньшей». - Не путайте с числовым сравнением. Строки
"9"и"10"сравниваются как текст:"9" < "10"вернётfalse, потому что символ'9'имеет больший код, чем'1'. - Кириллица и спецсимволы. Порядок символов за пределами ASCII зависит от кодировки и может вести себя неожиданно — лучше ограничиваться латиницей и цифрами, если нужна предсказуемая сортировка.