По существу, символьная строка Java представляет собой последовательность символов в уникоде. Например, строка " Java\u2122" состоит из пяти символов: J, a, v, а и ™. В Java отсутствует встроенный тип для символьных строк. Вместо этого в стандартной библиотеке Java содержится класс String. Каждая символьная строка, заключенная в кавычки, представляет собой экземпляр класса String:
String е = ""; // пустая строка String greeting = "Hello";
Подстроки
С помощью метода substring () из класса String можно выделить подстроку из отдельной символьной строки. Например, в результате выполнения приведенного ниже фрагмента кода формируется подстрока "Hel":
String greeting = "Hello";
String s = greeting.substring(0, 3);
Второй параметр метода substring () обозначает позицию символа, который не следует включать в состав подстроки. В данном примере требуется скопировать символы на трех позициях 0,1 и 2 (т.е. от позиции 0 до позиции 2 включительно), поэтому при вызове метода substring () указываются значения 0 и 3, обозначающие копируемые символы от позиции 0 и до позиции 2 включительно, но исключая позицию 3.
Описанный способ вызова метода substring () имеет следующую положительную особенность: вычисление длины подстроки осуществляется исключительно просто. Строка s. substring (а, Ь) всегда имеет длину b - а символов. Так, сформированная выше подстрока "Hel" имеет длину 3 -0 = 3.
Сцепление
В Java, как и в большинстве языков программирования, предоставляется возможность объединить две символьные строки, используя знак + операции сцепления.
String expletive = "Expletive";
String PG13 = "deleted";
String message = expletive + PG13;
В приведенном выше фрагменте кода переменной message присваивается символьная строка "Expletivedeleted", сцепленная из двух исходных строк. (Обратите внимание на отсутствие пробела между словами в этой строке. Знак + операции сцепления соединяет две строки точно в том порядке, в каком они были заданы в качестве операндов.)
При сцеплении символьной строки со значением, не являющимся строковым, это значение преобразуется в строковое. (Как станет ясно из главы 5, каждый объект в Java может быть преобразован в символьную строку.) В приведенном ниже примере переменной rating присваивается символьная строка "PG13", полученная путем сцепления символьной строки с числовым значением, автоматически преобразуемым в строковое.
int acje = 13;
String rating = "PG" + age;
Такая возможность широко используется в операторах вывода. Например, приведенная ниже строка кода вполне допустима для вывода результата в нужном формате, т.е. с пробелом между сцепляемыми строками:
System.out.println("The answer is " + answer);
|