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

Класс String

Очень большое место в обработке информации занимает работа с текстами. Как и многое другое, текстовые строки в языке 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.


Перед работой со строкой ее следует создать. Это можно сделать разными способами.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.