[] (element access)
Оператор [] обращается к символу строки String по индексу — читает его или заменяет, как myString[0] = 'A'.
Полная статья
Описание
Оператор [] позволяет обратиться к любому символу строки String напрямую — по его позиции. Позиции начинаются с нуля: первый символ строки имеет индекс 0, второй — 1 и так далее. Это стандартное для программирования поведение, и важно не забывать о нём, чтобы не промахнуться мимо нужного символа.
Синтаксис
char thisChar = myString[n]
Параметры
myString: строковый объект типаString, из которого извлекается символ.n: целочисленный индекс символа, отсчёт с нуля.thisChar: переменная типаchar, в которую сохраняется полученный символ.
Возвращает
Символ строки на позиции n. Результат идентичен тому, что возвращает метод charAt(n), — это два равнозначных способа получить один и тот же символ.
Где применяется
- Посимвольный разбор входящих команд из
Serial— например, когда нужно проверить первую букву строки, чтобы понять, что сделать дальше. - Поиск конкретного символа в строке вручную, если стандартных методов
Stringнедостаточно. - Формирование нового сообщения путём перебора символов исходной строки в цикле.
- Простая валидация формата: проверить, что символ на определённой позиции является цифрой или разделителем.
Практические замечания
- Всегда проверяйте, что индекс
nменьшеmyString.length()— иначе вы выйдете за пределы строки и получите непредсказуемый результат. Это не вызовет ошибку компиляции, но может привести к чтению случайных данных из памяти. - Если строка пустая (
length() == 0), любое обращение через[]некорректно. - Оператор
[]можно использовать не только для чтения, но и для записи:myString[0] = 'A'заменит первый символ. Будьте аккуратны с такими изменениями на месте. - Для перебора всех символов строки удобен цикл
forс условиемi < myString.length(). - Если символ нужен только для сравнения или вывода, можно не сохранять его в отдельную переменную
thisChar, а использовать выражение прямо в условии или вызове функции.