Обработка строк.
- Как в большинстве других языков программирования, строка в Java — это последовательность символов.
- В Java строки реализуются как объекты типа string.
- После создания string-объекта символы, входящие в строку, нельзя изменять.
- Над этим объектом можно выполнять все типы строковых операций.
- Для того чтобы изменить версию существующей строки, нужно создать новый объект типа string, который содержит необходимую модификацию.
String-конструкторы.
- Класс string поддерживает несколько конструкторов. Чтобы создать пустой объект типа string, нужно вызвать умалчиваемый конструктор. Например, следующий оператор
String s = new String();
создает экземпляр класса string, не содержащий символов (т. е. пустую строку).
- Чтобы создать string-объект, инициализированный массивом символов, используйте следующий конструктор:
String(char chars[ ])
Длина строки
- Длина строки определяется количеством содержащихся в ней символов. Для получения этого значения вызовите метод length() в форме:
int length()
Конкатенация строк
- Вообще, Java не разрешает применять операции к string-объектам. Однако в этом правиле есть одно исключение. Это операция +, которая связывает две строки, строя в результате string-объект с объединенной последовательностью символов. Можно также организовать цепочку из нескольких + операцийЗдесь происходит конкатенация (сцепление) трех строк, в результате которой на экран выводится строка "Ему 9 лет.".
Конкатенация других типов данных
- Операцию конкатенации строк можно использовать с другими типами данных.
Метод charAt()
- Для извлечения одиночного символа из String-объекта вы можете прямо сослаться на индивидуальный символ через метод charAt().
char charAt(int where)
- где параметр where — индекс (номер) символа, который вы хотите получить. Значение whereдолжно определять позицию искомого символа в строке и не может быть отрицательным. charAt() возвращает символ, находящийся в указанной позиции строки.
Метод getChars()
- Если нужно извлечь больше одного символа, то можно использовать метод getChars ().
Методы equals() и equalsIgnoreCase()
- Чтобы сравнивать две строки на равенство, нужно использовать метод equals (). Он имеет следующую общую форму:
boolean equals(Object str)
где str— string-объект, который сравнивается с вызывающим string-объектом. Метод возвращает значение true, если строки содержат одни и те же символы в одинаковом порядке, иначе возвращается false. Сравнение чувствительно к регистру.
- Чтобы выполнить сравнение, которое игнорирует различия в регистре, вызывается метод equalsIgnoreCase(). При сравнении двух строк он предполагает, что символы A—Z и a—z не различаются. Общий формат этого метода:
booleanequalsIgnoreCase(Stringstr)
где str— string-объект, который сравнивается с вызывающим string-объектом. Он тоже возвращает true, если строки содержат одни и те же символы в одном и том же порядке, иначе возвращает false.
Методы startsWith() и endsWith()
- В классе string определены две подпрограммы, которые являются специализированными формами метода regionMatches ().
- Метод startsWith() определяет, начинается ли данный String-объект с указанной строки. Наоборот, метод endsWith() определяет, заканчивается ли string-объект указанной строкой. Они имеют следующие общие формы:
boolean startsWith(String str)
boolean endsWith(String str)
где str— проверяемый string-объект. Если строки согласованы, возвращается true, иначе — false.
Метод compareTo()
- Часто, не достаточно просто знать, идентичны ли две строки. Для приложений сортировки нужно знать, какая из них меньше, равна, или больше чем другая.
- Одна строка считается меньше чем другая, если она расположена перед другой в словарном (упорядоченном по алфавиту) списке.
- Строка считается больше чем другая, если она расположена после другой в словарном списке.
int compareTo (String str)
- Здесь str— string-объект, сравниваемый с вызывающим string-объектом. Результат сравнения возвращается (в вызывающую программу) и интерпретируется так:
- Меньше нуля: строка вызова — меньше, чем str.
- Больше нуля: строка вызова — больше, чем str.