В повседневной работе каждый программист обязательно встречается с объектами типа String. Объект типа String определяет символьную строку и поддерживает операции над ней. Во многих языках программирования символьная строка — это лишь массив символов, но в Java это совсем не так, где символьная строка, по существу, является объектом.
Возможно, вы и не заметили, но класс String фактически уже использовался в примерах программ, начиная с главы 1. При создании строкового литерала на самом деле строился объект типа String. Рассмотрим приведенный ниже оператор. System.out.println("In Java, strings are objects.");
Наличие в нем символьной строки "In Java, strings are objects." (B Java строки являются объектами) автоматически приводит к созданию объекта типа String. Таким образом, класс String незримо присутствовал в предыдущих примерах программ. В последующих разделах будет показано, как этим классом пользоваться явным образом. Однако в классе String предусмотрен обширный ряд методов, поэтому здесь будут рассмотрены лишь некоторые из них. Большую часть функциональных возможностей класса String вам предстоит изучить самостоятельно. Построение строк
Объекты типа String создаются таким же образом, как и объекты других типов. Для этой цели используется конструктор, как показано в следующем примере: String str = new String("Hello");
В данном примере создается объект str типа String, содержащий символьную строку "Hello" (Привет). Объект типа String можно создать и на основе другого объекта такого же типа. Например: String str = new String("Hello"); String str2 = new String(str);
После выполнения этих строк кода объект str2 будет также содержать символьную строку "Hello".
Ниже представлен еще один способ создания объекта типа String. String str = "Java strings are powerful.";
В данном случае объект str инициализируется последовательностью символов "Java strings are powerful." (Строки в Java эффективны).
Создав объект типа String, можете использовать его везде, где допускается строковый литерал (последовательность символов, заключенная в кавычки). Например, объект типа String можно передать в качестве параметра методу println при его вызове, как показано в приведенном ниже примере программы. // Представление класса String, class StringDemo { public static void main(String args[]) { // объявить символьные строки разными способами String strl = new String("Java strings are objects."); String str2 = "They are constructed various ways."; String str3 = new String(str2); System.out.println(strl) ; System.out.println(str2) ; System.out.println(str3) ; } }
Выполнение этой программы дает следующий результат: Java strings are objects. They are constructed various ways. They are constructed various ways. Операции над символьными строками
Класс String содержит ряд методов, предназначенных для выполнения действий над символьными строками. Ниже описаны некоторые из них. boolean equals (str) Возвращает логическое значение true, если текущая строкасодержит ту же последовательность символов, что и параметр str int length Возвращает длину символьной строки char charAt (index) Возвращает символ, находящийся в строке на позиции, указываемой параметром index int compareTo (String str) Возвращает отрицательное значение, если текущая строкаменьше строки str, нуль, если эти строки равны, и положительное значение, если текущая строка больше строки str int indexOf (String str) Производит в текущей строке поиск подстроки, определяемой параметром str. Возвращает индекс первого вхождения подстроки str или -1, если поиск завершается неудачно int lastlndexOf (String str) Производит в текущей строке поиск подстроки, определяемойпараметром str. Возвращает индекс последнего вхожденияподстроки str или -1, если поиск завершается неудачно