Иллюстрированный самоучитель по Java
ГЛАВА 5
Работа со строками
Очень большое место в обработке информации
занимает работа с текстами. Как и многое другое, текстовые строки в языке Java
являются объектами. Они представляются экземплярами класса
string
или класса
stringBuffer
.
Поначалу это необычно и кажется
слишком громоздким, но, привыкнув, вы оцените удобство работы с,классами, а
не с массивами символов.
Конечно, возможно занести текст
в массив символов типа
char
или даже в массив байтов
типа
byte
, но тогда вы не сможете использовать готовые
методы работы с текстовыми строками.
Зачем в язык введены два класса
для хранения строк? В объектах класса
string
хранятся
строки-константы неизменной длины и содержания, так сказать, отлитые в бронзе.
Это значительно ускоряет обработку строк и позволяет экономить память, разделяя
строку между объектами, использующими ее. Длину строк, хранящихся в объектах
класса
stringBuffer
, можно менять, вставляя и добавляя
строки и символы, удаляя подстроки или сцепляя несколько строк в одну строку.
Во многих случаях, когда надо изменить длину строки типа
string
,
компилятор Java неявно преобразует ее к типу
stringBuffer
,
меняет длину, потом преобразует обратно в тип
string
.
Например, следующее действие
String
s = "Это" + " одна " + "строка";
компилятор выполнит так:
String s = new
StringBuffer().append("Это").append(" одна ")
.append("строка").toString();
Будет создан объект класса
stringBuffer
,
в него последовательно добавлены строки "Это", " одна ",
"строка", и получившийся объект класса
StringBuffer
будет приведен к типу
String
методом
toString
()
.
Напомним, что символы в строках
хранятся в кодировке Unicode, в которой каждый символ занимает два байта. Тип
каждого символа
char
.
Класс
String
Перед работой со строкой ее следует
создать. Это можно сделать разными способами.