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.
Ссылки[править]
- Класс String (англ.). Java™ Platform Standard Ed. 7. Проверено 27 октября 2013.
- Ах, эти строки... (блог skipy.ru)