Самый простой способ создать строку — это организовать ссылку типа
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-файлов, извлечении информации из базы данных или при передаче информации по сети.