String (Java)

Материал из Циклопедии
Перейти к навигации Перейти к поиску

String — класс в языке Java, представляющий строку. Входит в пакет java.lang, а потому этот класс не требуется импортировать.

Является наследником базового суперкласса Object. Реализует интерфейсы Serializable, [[Comparable<T> (Java)|Comparable<String>]], CharSequence.

Объявление класса String выглядит следующим образом:

public final class String

Как видно из объявления, класс терминальный, то есть создать подклассы на его основе невозможно.

Любой объект Java может быть преобразован в строку посредством вызова метода toString().

Описание[править]

Класс String является неизменяемым, любые операции над строками ведут к порождению нового объекта, содержащего результат операции. String является thread-safe, то объекты этого класса могут использоваться во множестве потоков без дополнительной синхронизации.

Класс String — единственный класс, для ссылок которого определена операция сложения.

String str = "Java";
String str2 = " 8";
String str3 = str + str2;
System.out.println(str3);//выводит "Java 8" (без кавычек)

Надо отметить, что конкатенация строк может привести к перерасходу памяти, особенно при использовании в цикле. Поэтому в ситуациях, когда необходима частая конкатенация, лучше использовать объекты StringBuffer или StringBuilder, представляющие изменяемые строки.

Для записи строк можно использовать литералы (строки, записанные в двойных кавычках). При необходимости записать двойную кавычку, она экранируется обратным слешем.

String str = "abc";

эквивалентно

char data[] = {'a', 'b', 'c'};
String str = new String(data);

Ниже приведено несколько примеров использования строк:

System.out.println("abc");
String zelev = "Зелев велик";
System.out.println("abc" + zelev);
String c = "abc".substring(2, 3);// "c"
String d = zelev.substring(1);// "Зелев велик"

Класс содержит множество методов, позволяющих осуществлять различные манипуляции со строками, например, выделять подстроки, находить нужный символ или сравнивать строки. Отображение символов основано на стандартной версии Юникода.

Конструкторы[править]

     Не рекомендованные к применению (Deprecated).

Аргументы Описание
String() Инициализирует объект, представляющий собой пустую последовательность символов.
String(byte[] bytes) Создаёт новый объект, расшифровывающий указанный массив bytes, используя кодировку платформы по умолчанию.
String(byte[] bytes, Charset charset) Создаёт новый объект, расшифровывая указанный массив bytes с использованием заданной кодировки charset.
String(byte[] ascii, int hibyte) Неправильно преобразовывает байты в символы. Вместо него предпочтительно использовать конструкторы, которые принимают название кодировки или используют кодировку по умолчанию.
String(byte[] bytes, int offset, int length) Создаёт новую строку посредством раскодировки заданного подмассива байтов, используя кодировку платформы по умолчанию.
String(byte[] bytes, int offset, int length, Charset charset) Создаёт новую строку посредством раскодировки заданного подмассива байтов, используя указанную кодировку.
String(byte[] ascii, int hibyte, int offset, int count) Неправильно преобразовывает байты в символы. Вместо него предпочтительно использовать конструкторы, которые принимают название кодировки или используют кодировку по умолчанию.
String(byte[] bytes, int offset, int length, String charsetName) Создаёт новую строку посредством раскодировки заданного подмассива байтов, используя указанную кодировку.
String(byte[] bytes, String charsetName) Создаёт новую строку посредством раскодировки заданного массива байтов, используя указанную кодировку.
String(char[] value) Выделяет новую строку, так, что она представляет собой последовательность символов, содержащихся в массиве типа char.
String(char[] value, int offset, int count) Выделяет новую строку, которая содержит символы из подмассива массива типа char.
String(int[] codePoints, int offset, int count) Выделяет новую строку, которая содержит символы из подмассива массива кодовых точек Юникода.
String(String original) Инициализирует только что созданный объект так, что он представляет собой ту же последовательность символов, что и аргумент. Иными словами, вновь созданная строка является копией аргумента.
String(StringBuffer buffer) Выделяет новую строку, содержащую последовательность символов, и находящуюся в аргументе buffer.
String(StringBuilder builder) Выделяет новую строку, содержащую последовательность символов, и находящуюся в аргументе builder.

Методы[править]

     Не рекомендованные к применению (Deprecated).

Тип возвращаемого значения Название и аргументы Выполняемое действие
char charAt(int index) Возвращает символ по указанному индексу.
int codePointAt(int index) Возвращает символ (кодовая точка Юникода) по указанному индексу.
int codePointBefore(int index) Возвращает символ (кодовая точка Юникода) до указанного индекса.
int codePointCount(int beginIndex, int endIndex) Возвращает количество кодовых точек Юникода в указанном диапазоне.
int compareTo(String anotherString) Производит лексикографическое сравнение двух строк.
int compareToIgnoreCase(String str) Производит лексикографическое сравнение двух строк, игнорируя регистр символов.
String concat(String str) Объединяет указанную строку с концом данной строки.
boolean contains(CharSequence s) Возвращает истину если эта и только эта строка содержит указанную последовательность символов.
boolean contentEquals(CharSequence cs) Сравнивает данную строку с указанным CharSequence.
boolean contentEquals(StringBuffer sb) Сравнивает данную строку с указанным StringBuffer.
static String copyValueOf(char[] data) Возвращает строку, которая представляет собой последовательность символов в указанном массиве.
static String copyValueOf(char[] data, int offset, int count) Возвращает строку, которая представляет собой последовательность символов в указанном массиве.
boolean endsWith(String suffix) Проверяет, заканчивается ли данная строка указанной.
boolean equals(Object anObject) Сравнивает данную строку с указанным объектом.
boolean equalsIgnoreCase(String anotherString) Сравнивает данную строку с указанной, игнорируя регистр символов.
static String format(Locale l, String format, Object... args) Возвращает отформатированную строку, используя указанный регион, форматирующую строку и аргументы.
static String format(String format, Object... args) Возвращает отформатированную строку, используя форматирующую строку и аргументы.
byte[] getBytes() Кодирует заданную строку в последовательность байтов, используя платформенную кодировку по умолчанию; результат сохраняется в новый массив.
byte[] getBytes(Charset charset) Кодирует заданную строку в последовательность байтов, используя указанную кодировку; результат сохраняется в новый массив.
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) Неправильно преобразовывает символы в байты; вместо него следует использовать метод getBytes().
byte[] getBytes(String charsetName) Кодирует заданную строку в последовательность байтов, используя charsetName; результат сохраняется в новый массив.
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Копирует символы из заданной строки в целевой массив символов.
int hashCode() Возвращает хэш-код для этой строки.
int indexOf(int ch) Возвращает индекс первого вхождения указанного символа.
int indexOf(int ch, int fromIndex) Возвращает индекс первого вхождения указанного символа, начиная поиск с указанного индекса.
int indexOf(String str) Возвращает индекс первого вхождения указанной подстроки.
int indexOf(String str, int fromIndex) Возвращает индекс первого вхождения указанной подстроки, начиная поиск с указанного индекса.
String intern() Возвращает каноническое представление строкового объекта.
boolean isEmpty() Возвращает истину, если длина строки равна нулю.
int lastIndexOf(int ch) Возвращает индекс последнего вхождения указанного символа.
int lastIndexOf(int ch, int fromIndex) Возвращает индекс последнего вхождения указанного символа, начиная поиск в обратном порядке с указанного индекса.
int lastIndexOf(String str) Возвращает индекс последнего вхождения указанной подстроки.
int lastIndexOf(String str, int fromIndex) Возвращает индекс последнего вхождения указанной подстроки, начиная поиск в обратном порядке с указанного индекса.
int length() Возвращает длину строки.
boolean matches(String regex) Проверяет, соответствует ли данная строка указанному регулярному выражению.
int offsetByCodePoints(int index, int codePointOffset) Возвращает индекс внутри данной строки, смещённый от указанного индекса на codePointOffset кодовых точек.
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Проверяет, равны ли регионы двух строк.
boolean regionMatches(int toffset, String other, int ooffset, int len) Проверяет, равны ли регионы двух строк.
String replace(char oldChar, char newChar) Возвращает новую строку, производя замену всех вхождений oldChar на newChar.
String replace(CharSequence target, CharSequence replacement) Возвращает новую строку, производя замену всех подстрок, соответствующих target, на строку replacement.
String replaceAll(String regex, String replacement) Заменяет каждую подстроку данной строки, которая соответствует указанному регулярному выражению с указанной заменой.
String replaceFirst(String regex, String replacement) Заменяет первую подстроку данной строки, которая соответствует указанному регулярному выражению с указанной заменой.
String[] split(String regex) Разбивает строку на фрагменты, используя в качестве разделителей символы, входящие в аргумент regex, и возвращает ссылку на массив, составленный из этих фрагментов.
String[] split(String regex, int limit) Разбивает строку на фрагменты, используя в качестве разделителей символы, входящие в аргумент regex, и возвращает ссылку на массив, составленный из этих фрагментов.
boolean startsWith(String prefix) Проверяет, начинается ли данная строка с указанной.
boolean startsWith(String prefix, int toffset) Проверяет, начинается ли подстрока данной строки с указанного индекса, начиная с указанного префикса.
CharSequence subSequence(int beginIndex, int endIndex) Возвращает новую последовательность символов, представляющую собой подпоследовательность данной последовательности.
String substring(int beginIndex) Возвращает новую строку, представляющую собой подстроку данной строки.
String substring(int beginIndex, int endIndex) Возвращает новую строку, представляющую собой подстроку данной строки.
char[] toCharArray() Преобразует данную строку в новый массив символов.
String toLowerCase() Преобразует все символы данной строки в нижний регистр, используя правила по умолчанию.
String toLowerCase(Locale locale) Преобразует все символы данной строки в нижний регистр, используя указанные правила.
String toString() Данный объект возвращает сам себя.
String toUpperCase() Преобразует все символы данной строки в верхний регистр, используя правила по умолчанию.
String toUpperCase(Locale locale) Преобразует все символы данной строки в верхний регистр, используя указанные правила.
String trim() Возвращает новую строку, из которой исключены все предшествующие и завершающие пробелы.
static String valueOf(boolean b) Возвращает строковое представление аргумента boolean.
static String valueOf(char c) Возвращает строковое представление аргумента char.
static String valueOf(char[] data) Возвращает строковое представление массива char.
static String valueOf(char[] data, int offset, int count) Возвращает строковое представление конкретного подмассива указанного массива char.
static String valueOf(double d) Возвращает строковое представление аргумента double.
static String valueOf(float f) Возвращает строковое представление аргумента float.
static String valueOf(int i) Возвращает строковое представление аргумента int.
static String valueOf(long l) Возвращает строковое представление аргумента long.
static String valueOf(Object obj) Возвращает строковое представление аргумента Object.

Унаследованные от класса Object[править]

clone, finalize, getClass, notify, notifyAll, wait, wait, wait.

Ссылки[править]