> (greater than)
Оператор > сравнивает два объекта String посимвольно и возвращает true, если левая строка лексикографически больше правой.
Полная статья
Описание
Оператор > выполняет лексикографическое сравнение двух объектов String — то есть сравнивает строки посимвольно по числовым кодам символов, как это делается в словаре, но без учёта языковых правил. Если левая строка «стоит позже» правой в таком порядке, оператор возвращает true.
Это удобно, когда нужно упорядочить строки, проверить, что введённое пользователем слово идёт после опорного значения по алфавиту, или реализовать простую сортировку.
Синтаксис
myString1 > myString2
Параметры
myString1: объектString, стоящий слева от оператора — тот, который проверяется на «большее» значение.myString2: объектString, стоящий справа — эталон для сравнения.
Возвращает
true, если myString1 лексикографически больше myString2; иначе false.
Как работает лексикографическое сравнение
Сравнение идёт слева направо: сначала сопоставляются первые символы обеих строк по их числовым кодам (ASCII). Если они совпадают — переходят к следующим символам. Как только находится первое различие, его и используют для вынесения результата.
Например, "banana" больше "apple", потому что 'b' (98) > 'a' (97). А "abc" меньше "abd", потому что третий символ 'c' (99) < 'd' (100).
Практические замечания
- Регистр имеет значение. Заглавные буквы имеют меньший код, чем строчные:
'A'(65) <'a'(97). Поэтому"Zebra"окажется «меньше»"apple". Если регистр не важен, приведите обе строки к одному регистру перед сравнением с помощьюtoLowerCase()илиtoUpperCase(). - Длина строк влияет на результат. Если одна строка является префиксом другой (
"abc"и"abcd"), более короткая считается меньшей. - Это не языковая сортировка. Оператор работает с кодами символов, а не по правилам конкретного языка. Кириллица, диакритика и другие не-ASCII символы будут упорядочены по их числовым кодам в кодировке, а не по алфавиту языка.
- Применяется только к объектам
String. Для сравнения строк в стиле C (char[]) используйте функциюstrcmp()из стандартной библиотеки C. - Типичный сценарий использования — проверка порядка при фильтрации команд, сортировке списка имён или валидации диапазона строковых значений, полученных через
Serialили другой интерфейс.