Иллюстрированный самоучитель по Java



              

Как создать строку


Самый простой способ создать строку — это организовать ссылку типа

string

на строку-константу:

String si = "Это строка.";

Если константа длинная, можно записать ее в нескольких строках текстового редактора, связывая их операцией сцепления:

String s2 = "Это длинная строка, " +

"записанная в двух строках исходного текста";

Замечание

Не забывайте разницу между пустой строкой

string s = ""

, не содержащей ни одного символа, и пустой ссылкой

string s = null,

не указывающей ни на какую строку и не являющейся объектом.

Самый правильный способ создать объект с точки зрения ООП — это вызвать его конструктор в операции new. Класс string предоставляет вам девять конструкторов:

string()

— создается объект с пустой строкой;

string (String str)

— из одного объекта создается другой, поэтому этот конструктор используется редко;

string (StringBuf fer str)

— преобразованная коп-ия объекта класса

BufferString;

string(byte[] byteArray)

— объект создается из массива байтов byteArray;

String (char [] charArray)

— объект создается из массива

charArray

символов Unicode;

String (byte [] byteArray, int offset, int count)

— объект создается из части массива байтов byteArray, начинающейся с индекса

offset

и содержащей count байтов;

String (char [] charArray, int offset, int count)

— то же, но массив состоит из символов Unicode;

String(byte[] byteArray, String encoding)

— символы, записанные в массиве байтов, задаются в Unicode-строке, с учетом кодировки

encoding

;

String(byte[] byteArray, int offset, int count, String encoding)

— то же самое, но только для части массива.

При неправильном заданий индексов

offset

,

count

или кодировки

encoding

возникает исключительная ситуация.

Конструкторы, использующие массив байтов

byteArray

, предназначены для создания Unicode-строки из массива байтовых ASCII-кодировок символов. Такая ситуация возникает при чтении ASCII-файлов, извлечении информации из базы данных или при передаче информации по сети.




Содержание  Назад  Вперед