toUpperCase()
toUpperCase() переводит все символы строки String в верхний регистр прямо на месте — без возврата значения, поэтому вызывайте метод отдельно, а не в присваивании.
Полная статья
Описание
toUpperCase() переводит каждый символ строки в верхний регистр. Важно понимать: метод не создаёт новую строку и ничего не возвращает — он изменяет саму переменную, к которой применяется. toUpperCase() изменяет строку на месте, а не возвращает новую.
Это удобно, когда нужно привести входные данные к единому виду перед сравнением. Например, если пользователь вводит команду через Serial, он может написать "on", "On" или "ON" — после toUpperCase() все варианты станут "ON", и проверка будет работать надёжно.
Синтаксис
myString.toUpperCase()
Параметры
myString: переменная типа String.
Возвращает
Ничего. Строка изменяется непосредственно в переменной myString.
Где применяется
- Разбор команд через Serial — приведение ввода к верхнему регистру позволяет сравнивать строки без учёта того, как именно пользователь набрал команду.
- Нормализация данных с датчиков или модулей — если устройство возвращает строки в непредсказуемом регистре,
toUpperCase()приводит их к стандартному виду. - Отображение на дисплее — когда нужно вывести текст заглавными буквами без ручного редактирования строки.
Практические замечания
- Метод работает только с латинскими буквами (ASCII). Символы кириллицы и других не-ASCII алфавитов он не затрагивает.
- Поскольку
toUpperCase()изменяет строку «на месте», если исходный вариант ещё понадобится, сохраните копию заранее:String original = myString;. - Цифры, знаки препинания и пробелы метод не трогает — они остаются без изменений.
- Метод не возвращает значение, поэтому конструкция вида
String result = myString.toUpperCase();не сработает корректно:resultокажется пустой строкой. Вызывайте метод отдельной строкой, а затем используйте уже изменённую переменнуюmyString.