Класс String
- Все реализуемые интерфейсы:
Serializable, CharSequence, Comparable<String>, Constable, ConstantDesc
public final class String extends Object implements Serializable, Comparable<String>, CharSequence, Constable, ConstantDesc
String представляет строки символов. Все строковые литералы в программах на Java, например "abc", реализованы как экземпляры этого класса. Строки являются константами: их значения нельзя изменить после создания. Буферы строк поддерживают изменяемые строки. Поскольку объекты String неизменяемы, ими можно совместно пользоваться. Например:
String str = "abc";
эквивалентно:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
Вот ещё несколько примеров использования строк:
System.out.println("abc");
String cde = "cde";
System.out.println("abc" + cde);
String c = "abc".substring(2, 3);
String d = cde.substring(1, 2);
Класс String включает методы для проверки отдельных символов последовательности, сравнения строк, поиска в строках, извлечения подстрок и создания копии строки, в которой все символы преобразованы в верхний или нижний регистр. Преобразование регистра основано на версии стандарта Unicode, указанной в классе Character.
Язык Java обеспечивает специальную поддержку оператора конкатенации строк ( + ) и преобразования других объектов в строки. Дополнительные сведения о конкатенации строк и преобразовании см. в Спецификации языка Java.
Если не указано иное, передача аргумента null конструктору или методу этого класса приведёт к выбрасыванию исключения NullPointerException.
Объект String представляет строку в формате UTF-16, в котором дополнительные символы представлены суррогатными парами (дополнительные сведения см. в разделе Представления символов Unicode класса Character). Значения индексов относятся к кодовым единицам char, поэтому дополнительный символ занимает две позиции в String.
Класс String предоставляет методы для работы с кодовыми точками Unicode (то есть символами), а также методы для работы с кодовыми единицами Unicode (то есть значениями char).
Если не указано иное, методы сравнения строк не учитывают локаль. Класс Collator предоставляет методы для более точного сравнения строк с учётом локали.
- Примечание по реализации:
- Реализация оператора конкатенации строк остаётся на усмотрение компилятора Java при условии, что компилятор в конечном итоге соответствует Спецификации языка Java. Например, компилятор
javacможет реализовать оператор с помощьюStringBuffer,StringBuilderилиjava.lang.invoke.StringConcatFactoryв зависимости от версии JDK. Преобразование в строку обычно выполняется методомtoString, определённым вObjectи наследуемым всеми классами Java. - См. Спецификацию языка Java:
- 15.18.1 Оператор конкатенации строк +
- Начиная с версии:
- 1.0
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final Comparator |
CASE_INSENSITIVE_ORDER |
Компаратор, упорядочивающий объекты String так же, как метод compareToIgnoreCase. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
String() |
Инициализирует только что созданный объект String так, чтобы он представлял пустую последовательность символов. |
String |
Создаёт новый String, декодируя указанный массив байтов с помощью default charset. |
String |
Устарел. Этот метод некорректно преобразует байты в символы. |
String |
Создаёт новый String, декодируя указанную часть массива байтов с помощью default charset. |
String |
Устарел. Этот метод некорректно преобразует байты в символы. |
String |
Создаёт новый String, декодируя указанную часть массива байтов с помощью указанной кодировки. |
String |
Создаёт новый String, декодируя указанную часть массива байтов с помощью указанной кодировки. |
String |
Создаёт новый String, декодируя указанный массив байтов с помощью указанной кодировки. |
String |
Создаёт новый String, декодируя указанный массив байтов с помощью указанной кодировки. |
String |
Создаёт новый String, представляющий последовательность символов, содержащуюся в данный момент в аргументе — массиве символов. |
String |
Создаёт новый String, содержащий символы из части массива символов, переданного в качестве аргумента. |
String |
Создаёт новый String, содержащий символы из части массива кодовых точек Unicode, переданного в качестве аргумента. |
String |
Инициализирует только что созданный объект String так, чтобы он представлял ту же последовательность символов, что и аргумент; другими словами, вновь созданная строка является копией строки-аргумента. |
String |
Создаёт новую строку, содержащую последовательность символов, которая в данный момент находится в буфере строк, переданном в качестве аргумента. |
String |
Создаёт новую строку, содержащую последовательность символов, которая в данный момент находится в конструкторе строк, переданном в качестве аргумента. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
char |
charAt |
Возвращает значение char по указанному индексу. |
IntStream |
chars() |
Возвращает поток значений int, расширяющий нулями значения char из этой последовательности. |
int |
codePointAt |
Возвращает символ (кодовую точку Unicode) по указанному индексу. |
int |
codePointBefore |
Возвращает символ (кодовую точку Unicode) перед указанным индексом. |
int |
codePointCount |
Возвращает количество кодовых точек Unicode в указанном текстовом диапазоне этого String. |
IntStream |
codePoints() |
Возвращает поток значений кодовых точек из этой последовательности. |
int |
compareTo |
Сравнивает две строки лексикографически. |
int |
compareToIgnoreCase |
Сравнивает две строки лексикографически без учёта регистра. |
String |
concat |
Добавляет указанную строку в конец этой строки. |
boolean |
contains |
Возвращает true тогда и только тогда, когда эта строка содержит указанную последовательность значений char. |
boolean |
contentEquals |
Сравнивает эту строку с указанным CharSequence. |
boolean |
contentEquals |
Сравнивает эту строку с указанным StringBuffer. |
static String |
copyValueOf |
Эквивалентно valueOf(char[]). |
static String |
copyValueOf |
Эквивалентно valueOf(char[], int, int). |
Optional |
describeConstable() |
Возвращает Optional, содержащий номинальный дескриптор этого экземпляра, которым является сам экземпляр. |
boolean |
endsWith |
Проверяет, заканчивается ли эта строка указанным суффиксом. |
boolean |
equals |
Сравнивает эту строку с указанным объектом. |
boolean |
equalsIgnoreCase |
Сравнивает этот String с другим String без учёта регистра. |
static String |
format |
Возвращает строку, отформатированную с использованием указанной строки формата и аргументов. |
static String |
format |
Возвращает строку, отформатированную с использованием указанной локали, строки формата и аргументов. |
String |
formatted |
Форматирует с использованием этой строки в качестве строки формата и переданных аргументов. |
byte[] |
getBytes() |
Кодирует этот String в последовательность байтов с помощью default charset и сохраняет результат в новом массиве байтов. |
void |
getBytes |
Устарел. Этот метод некорректно преобразует символы в байты. |
byte[] |
getBytes |
Кодирует этот String в последовательность байтов с использованием кодировки с указанным именем и сохраняет результат в новом массиве байтов. |
byte[] |
getBytes |
Кодирует этот String в последовательность байтов с помощью заданной кодировки и сохраняет результат в новом массиве байтов. |
void |
getChars |
Копирует символы из этой последовательности в указанный массив назначения. |
int |
hashCode() |
Возвращает хеш-код этой строки. |
String |
indent |
Изменяет отступ каждой строки этой строки на основе значения n и нормализует символы завершения строк. |
int |
indexOf |
Возвращает индекс первого вхождения указанного символа в этой строке. |
int |
indexOf |
Возвращает индекс первого вхождения указанного символа в этой строке, начиная поиск с указанного индекса. |
int |
indexOf |
Возвращает индекс первого вхождения указанного символа в этой строке, начиная поиск с beginIndex и останавливаясь перед endIndex. |
int |
indexOf |
Возвращает индекс первого вхождения указанной подстроки в этой строке. |
int |
indexOf |
Возвращает индекс первого вхождения указанной подстроки в этой строке, начиная с указанного индекса. |
int |
indexOf |
Возвращает индекс первого вхождения указанной подстроки в заданном диапазоне индексов строки this. |
String |
intern() |
Возвращает каноническое представление объекта-строки. |
boolean |
isBlank() |
Возвращает true, если строка пуста или содержит только кодовые точки пробельных символов; в противном случае возвращает false. |
boolean |
isEmpty() |
|
static String |
join |
Возвращает новую строку, составленную из копий CharSequence elements, соединённых с копией указанного delimiter. |
static String |
join |
Возвращает новый String, составленный из копий CharSequence elements, соединённых с копией указанного delimiter. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанного символа в этой строке. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанного символа в этой строке, выполняя поиск в обратном направлении, начиная с указанного индекса. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанной подстроки в этой строке. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанной подстроки в этой строке, выполняя поиск в обратном направлении, начиная с указанного индекса. |
int |
length() |
Возвращает длину этой строки. |
Stream |
lines() |
Возвращает поток строк, извлечённых из этой строки и разделённых символами завершения строк. |
boolean |
matches |
Проверяет, соответствует ли эта строка заданному регулярному выражению. |
int |
offsetByCodePoints |
Возвращает индекс в этом String, смещённый относительно заданного index на codePointOffset кодовых точек. |
boolean |
regionMatches |
Проверяет, равны ли две области строк. |
boolean |
regionMatches |
Проверяет, равны ли две области строк. |
String |
repeat |
Возвращает строку, значение которой является результатом повторения этой строки count раз. |
String |
replace |
Возвращает строку, полученную заменой всех вхождений oldChar в этой строке на newChar. |
String |
replace |
Заменяет каждую подстроку этой строки, совпадающую с указанной буквальной целевой последовательностью, указанной буквальной последовательностью-заменой. |
String |
replaceAll |
Заменяет каждую подстроку этой строки, соответствующую заданному регулярному выражению, указанной строкой замены. |
String |
replaceFirst |
Заменяет первую подстроку этой строки, соответствующую заданному регулярному выражению, указанной строкой замены. |
String |
resolveConstantDesc |
Разрешает этот экземпляр как ConstantDesc; результатом является сам экземпляр. |
String[] |
split |
Разбивает эту строку на части по совпадениям с заданным регулярным выражением. |
String[] |
split |
Разбивает эту строку на части по совпадениям с заданным регулярным выражением. |
String[] |
splitWithDelimiters |
Разбивает эту строку на части по совпадениям с заданным регулярным выражением и возвращает как строки, так и совпавшие разделители. |
boolean |
startsWith |
Проверяет, начинается ли эта строка с указанного префикса. |
boolean |
startsWith |
Проверяет, начинается ли подстрока этой строки, начиная с указанного индекса, с заданного префикса. |
String |
strip() |
Возвращает строку со значением этой строки, удалив все начальные и конечные пробельные символы. |
String |
stripIndent() |
Возвращает строку со значением этой строки, удалив незначащие пробельные символы в начале и конце каждой строки. |
String |
stripLeading() |
Возвращает строку со значением этой строки, удалив все начальные пробельные символы. |
String |
stripTrailing() |
Возвращает строку со значением этой строки, удалив все конечные пробельные символы. |
CharSequence |
subSequence |
Возвращает последовательность символов, являющуюся подпоследовательностью этой последовательности. |
String |
substring |
Возвращает строку, являющуюся подстрокой этой строки. |
String |
substring |
Возвращает строку, являющуюся подстрокой этой строки. |
char[] |
toCharArray() |
Преобразует эту строку в новый массив символов. |
String |
toLowerCase() |
Преобразует все символы этого String в нижний регистр согласно правилам локали по умолчанию. |
String |
toLowerCase |
Преобразует все символы этого String в нижний регистр согласно правилам указанной Locale. |
String |
toString() |
Этот объект (который уже является строкой!) |
String |
toUpperCase() |
Преобразует все символы этого String в верхний регистр согласно правилам локали по умолчанию. |
String |
toUpperCase |
Преобразует все символы этого String в верхний регистр согласно правилам указанной Locale. |
<R> R |
transform |
Этот метод позволяет применить функцию к строке this. |
String |
translateEscapes() |
Возвращает строку со значением этой строки, в которой escape-последовательности преобразованы так же, как в строковом литерале. |
String |
trim() |
Возвращает строку со значением этой строки, удалив все начальные и конечные пробелы; пробелом считается любой символ, кодовая точка которого меньше или равна 'U+0020' (символ пробела). |
static String |
valueOf |
Возвращает строковое представление аргумента boolean. |
static String |
valueOf |
Возвращает строковое представление аргумента char. |
static String |
valueOf |
Возвращает строковое представление аргумента — массива char. |
static String |
valueOf |
Возвращает строковое представление указанной части массива char. |
static String |
valueOf |
Возвращает строковое представление аргумента double. |
static String |
valueOf |
Возвращает строковое представление аргумента float. |
static String |
valueOf |
Возвращает строковое представление аргумента int. |
static String |
valueOf |
Возвращает строковое представление аргумента long. |
static String |
valueOf |
Возвращает строковое представление аргумента Object. |
Подробное описание полей
CASE_INSENSITIVE_ORDER
public static final Comparator<String> CASE_INSENSITIVE_ORDER
String так же, как метод compareToIgnoreCase. Этот компаратор сериализуем. Обратите внимание, что этот компаратор не учитывает локаль, поэтому для некоторых локалей результат упорядочивания будет неудовлетворительным. Класс Collator предоставляет сравнение с учетом локали.
- Начиная с:
- 1.2
- См. также:
Подробное описание конструкторов
String
public String()
String так, чтобы он представлял пустую последовательность символов. Обратите внимание, что использовать этот конструктор не требуется, поскольку строки неизменяемы.String
public String(String original)
String так, чтобы он представлял ту же последовательность символов, что и аргумент; иными словами, вновь созданная строка является копией строки-аргумента. Если явная копия original не требуется, использовать этот конструктор не нужно, поскольку строки неизменяемы.- Параметры:
-
original—String
String
public String(char[] value)
String, представляющей последовательность символов, содержащуюся в данный момент в массиве символов-аргументе. Содержимое массива символов копируется; последующее изменение массива символов не влияет на вновь созданную строку. Содержимое строки не определено, если массив символов изменяется во время создания строки.
- Параметры:
-
value— начальное значение строки
String
public String(char[] value, int offset, int count)
String, содержащей символы из подмассива массива символов-аргумента. Аргумент offset — индекс первого символа подмассива, а аргумент count задает длину подмассива. Содержимое подмассива копируется; последующее изменение массива символов не влияет на вновь созданную строку. Содержимое строки не определено, если массив символов изменяется во время создания строки.
- Параметры:
-
value— массив, являющийся источником символов -
offset— начальное смещение -
count— длина - Исключения:
-
IndexOutOfBoundsException— еслиoffsetотрицательно,countотрицательно илиoffsetбольшеvalue.length - count
String
public String(int[] codePoints, int offset, int count)
String, содержащей символы из подмассива массива кодовых точек Unicode, переданного в качестве аргумента. Аргумент offset — индекс первой кодовой точки подмассива, а аргумент count задает длину подмассива. Содержимое подмассива преобразуется в char; последующее изменение массива int не влияет на вновь созданную строку. Содержимое строки не определено, если массив кодовых точек изменяется во время создания строки.
- Параметры:
-
codePoints— массив, являющийся источником кодовых точек Unicode -
offset— начальное смещение -
count— длина - Исключения:
-
IllegalArgumentException— если вcodePointsобнаружена недопустимая кодовая точка Unicode -
IndexOutOfBoundsException— еслиoffsetотрицательно,countотрицательно илиoffsetбольшеcodePoints.length - count - Начиная с:
- 1.5
String
@Deprecated(since="1.1") public String(byte[] ascii, int hibyte, int offset, int count)
String, принимающие Charset или имя кодировки, либо использующие default charset.String, создаваемой из подмассива массива 8-битных целых значений. Аргумент offset — индекс первого байта подмассива, а аргумент count задает длину подмассива.
Каждый byte в подмассиве преобразуется в char, как указано в конструкторе String(byte[],int).
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
ascii— байты, преобразуемые в символы -
hibyte— старшие 8 бит каждой 16-битной кодовой единицы Unicode -
offset— начальное смещение -
count— длина - Исключения:
-
IndexOutOfBoundsException— еслиoffsetотрицательно,countотрицательно илиoffsetбольшеascii.length - count - См. также:
String
@Deprecated(since="1.1") public String(byte[] ascii, int hibyte)
String, принимающие Charset или имя кодировки, либо использующие default charset.String, содержащей символы, созданные из массива 8-битных целых значений. Каждый символ c в результирующей строке создается из соответствующего элемента b массива байтов следующим образом:
c == (char)(((hibyte & 0xff) << 8)
| (b & 0xff))
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
ascii— байты, преобразуемые в символы -
hibyte— старшие 8 бит каждой 16-битной кодовой единицы Unicode - См. также:
String
public String(byte[] bytes, int offset, int length, String charsetName) throws UnsupportedEncodingException
String, декодируя указанный подмассив байтов с помощью указанной кодировки. Длина новой String зависит от кодировки и поэтому может не совпадать с длиной подмассива. Поведение этого конструктора, если переданные байты недопустимы в указанной кодировке, не определено. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes— байты, декодируемые в символы -
offset— индекс первого декодируемого байта -
length— количество декодируемых байтов -
charsetName— имя поддерживаемой кодировки - Исключения:
-
UnsupportedEncodingException— если кодировка с указанным именем не поддерживается -
IndexOutOfBoundsException— еслиoffsetотрицательно,lengthотрицательно илиoffsetбольшеbytes.length - length - Начиная с:
- 1.1
String
public String(byte[] bytes, int offset, int length, Charset charset)
String, декодируя указанный подмассив байтов с помощью указанной кодировки. Длина новой String зависит от кодировки и поэтому может не совпадать с длиной подмассива. Этот метод всегда заменяет последовательности некорректных входных данных и несопоставимых символов строкой замены, используемой по умолчанию для этой кодировки. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes— байты, декодируемые в символы -
offset— индекс первого декодируемого байта -
length— количество декодируемых байтов -
charset— кодировка, используемая для декодированияbytes - Исключения:
-
IndexOutOfBoundsException— еслиoffsetотрицательно,lengthотрицательно илиoffsetбольшеbytes.length - length - Начиная с:
- 1.6
String
public String(byte[] bytes, String charsetName) throws UnsupportedEncodingException
String, декодируя указанный массив байтов с помощью указанной кодировки. Длина новой String зависит от кодировки и поэтому может не совпадать с длиной массива байтов. Поведение этого конструктора, если переданные байты недопустимы в указанной кодировке, не определено. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes— байты, декодируемые в символы -
charsetName— имя поддерживаемой кодировки - Исключения:
-
UnsupportedEncodingException— если кодировка с указанным именем не поддерживается - Начиная с:
- 1.1
String
public String(byte[] bytes, Charset charset)
String, декодируя указанный массив байтов с помощью указанной кодировки. Длина новой String зависит от кодировки и поэтому может не совпадать с длиной массива байтов. Этот метод всегда заменяет последовательности некорректных входных данных и несопоставимых символов строкой замены, используемой по умолчанию для этой кодировки. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes— байты, декодируемые в символы -
charset— кодировка, используемая для декодированияbytes - Начиная с:
- 1.6
String
public String(byte[] bytes, int offset, int length)
String, декодируя указанный подмассив байтов с помощью default charset. Длина новой String зависит от кодировки и поэтому может не совпадать с длиной подмассива. Поведение этого конструктора, если переданные байты недопустимы в используемой по умолчанию кодировке, не определено. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes— байты, декодируемые в символы -
offset— индекс первого декодируемого байта -
length— количество декодируемых байтов - Исключения:
-
IndexOutOfBoundsException— еслиoffsetотрицательно,lengthотрицательно илиoffsetбольшеbytes.length - length - Начиная с:
- 1.1
String
public String(byte[] bytes)
String, декодируя указанный массив байтов с помощью default charset. Длина новой String зависит от кодировки и поэтому может не совпадать с длиной массива байтов. Поведение этого конструктора, если переданные байты недопустимы в используемой по умолчанию кодировке, не определено. Если требуется больший контроль над процессом декодирования, следует использовать класс CharsetDecoder.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes— байты, декодируемые в символы - Начиная с:
- 1.1
String
public String(StringBuffer buffer)
- Параметры:
-
buffer—StringBuffer
String
public String(StringBuilder builder)
Содержимое строки не определено, если StringBuilder изменяется во время создания строки.
Этот конструктор предоставлен для упрощения перехода на
StringBuilder. Получение строки из конструктора строк с помощью метода
toString, вероятно, будет выполняться быстрее и обычно является предпочтительным способом.
- Параметры:
-
builder—StringBuilder - Начиная с:
- 1.5
Подробное описание методов
length
public int length()
- Определено в:
-
lengthв интерфейсеCharSequence - Возвращает:
- длину последовательности символов, представленной этим объектом.
isEmpty
public boolean isEmpty()
- Определено в:
-
isEmptyв интерфейсеCharSequence - Примечание к API:
- Чтобы определить, содержит ли строка только пробельные символы, используйте
isBlank. - Возвращает:
-
true, еслиlength()равно0, иначеfalse - Начиная с:
- 1.6
charAt
public char charAt(int index)
char по указанному индексу. Диапазон индексов — от 0 до length() - 1. Первое значение char последовательности находится по индексу 0, следующее — по индексу 1 и так далее, как при индексировании массива. Если указанное индексом значение char является суррогатом, возвращается значение суррогата.
- Определено в:
-
charAtв интерфейсеCharSequence - Параметры:
-
index— индекс значенияchar. - Возвращает:
- значение
charпо указанному индексу этой строки. Первое значениеcharнаходится по индексу0. - Исключения:
-
IndexOutOfBoundsException— если аргументindexотрицателен или не меньше длины этой строки.
codePointAt
public int codePointAt(int index)
char (кодовым единицам Unicode) и находится в диапазоне от 0 до length() - 1. Если значение char, указанное по заданному индексу, находится в диапазоне старших суррогатов, следующий индекс меньше длины этой String, а значение char по следующему индексу находится в диапазоне младших суррогатов, возвращается дополнительная кодовая точка, соответствующая этой суррогатной паре. В противном случае возвращается значение char по заданному индексу.
- Параметры:
-
index— индекс значенияchar - Возвращает:
- значение кодовой точки символа по
index - Исключения:
-
IndexOutOfBoundsException— если аргументindexотрицателен или не меньше длины этой строки. - Начиная с:
- 1.5
codePointBefore
public int codePointBefore(int index)
char (кодовым единицам Unicode) и находится в диапазоне от 1 до length. Если значение char по индексу (index - 1) находится в диапазоне младших суррогатов, (index - 2) неотрицательно, а значение char по индексу (index -
2) находится в диапазоне старших суррогатов, возвращается значение дополнительной кодовой точки этой суррогатной пары. Если значение char по индексу index -
1 является непарным младшим или старшим суррогатом, возвращается значение суррогата.
- Параметры:
-
index— индекс, следующий за кодовой точкой, которую нужно вернуть - Возвращает:
- значение кодовой точки Unicode перед заданным индексом.
- Исключения:
-
IndexOutOfBoundsException— если аргументindexменьше 1 или больше длины этой строки. - Начиная с:
- 1.5
codePointCount
public int codePointCount(int beginIndex, int endIndex)
String. Диапазон текста начинается с указанного beginIndex и заканчивается char по индексу endIndex - 1. Таким образом, длина диапазона текста (в char) равна endIndex-beginIndex. Непарные суррогаты внутри диапазона текста считаются одной кодовой точкой каждый.- Параметры:
-
beginIndex— индекс первогоcharдиапазона текста. -
endIndex— индекс после последнегоcharдиапазона текста. - Возвращает:
- количество кодовых точек Unicode в указанном диапазоне текста
- Исключения:
-
IndexOutOfBoundsException— еслиbeginIndexотрицательно,endIndexбольше длины этойStringилиbeginIndexбольшеendIndex. - Начиная с:
- 1.5
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset)
String, смещенный относительно заданного index на codePointOffset кодовых точек. Непарные суррогаты в диапазоне текста, заданном index и codePointOffset, считаются одной кодовой точкой каждый.- Параметры:
-
index— индекс, который нужно сместить -
codePointOffset— смещение в кодовых точках - Возвращает:
- индекс в этой
String - Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или больше длины этойString, либо еслиcodePointOffsetположительно и подстрока, начинающаяся сindex, содержит меньшеcodePointOffsetкодовых точек, либо еслиcodePointOffsetотрицательно и подстрока передindexсодержит меньше кодовых точек, чем абсолютное значениеcodePointOffset. - Начиная с:
- 1.5
getChars
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
srcBegin; последний копируемый символ — по индексу srcEnd-1. Общее количество копируемых символов равно srcEnd-srcBegin. Символы копируются в подмассив dst, начиная с индекса dstBegin и заканчивая индексом: dstbegin + (srcEnd-srcBegin) - 1
- Определено в:
-
getCharsв интерфейсеCharSequence - Параметры:
-
srcBegin— начать копирование с этого смещения. -
srcEnd— остановить копирование на этом смещении. -
dst— массив, в который копируются данные. -
dstBegin— смещение вdst. - Исключения:
-
IndexOutOfBoundsException— если выполняется любое из следующих условий:-
srcBeginотрицательно -
dstBeginотрицательно - аргумент
srcBeginбольше аргументаsrcEnd. -
srcEndбольшеthis.length(). -
dstBegin+srcEnd-srcBeginбольшеdst.length
-
getBytes
@Deprecated(since="1.1") public void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
getBytes(), который использует default charset. Первый копируемый символ находится по индексу srcBegin; последний копируемый символ — по индексу srcEnd-1. Общее количество копируемых символов равно srcEnd-srcBegin. Символы, преобразованные в байты, копируются в подмассив
dst, начиная с индекса dstBegin и заканчивая индексом:
dstBegin + (srcEnd-srcBegin) - 1
- Параметры:
-
srcBegin— индекс первого копируемого символа в строке -
srcEnd— индекс после последнего копируемого символа в строке -
dst— целевой массив -
dstBegin— начальное смещение в целевом массиве - Исключения:
-
IndexOutOfBoundsException— если выполняется любое из следующих условий:-
srcBeginотрицательно -
srcBeginбольшеsrcEnd -
srcEndбольше длины этой строки -
dstBeginотрицательно -
dstBegin+(srcEnd-srcBegin)большеdst.length
-
getBytes
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException
String в последовательность байтов с использованием кодировки с указанным именем и сохраняет результат в новом массиве байтов. Поведение этого метода, если эту строку невозможно закодировать в указанной кодировке, не определено. Если требуется больший контроль над процессом кодирования, следует использовать класс CharsetEncoder.
- Параметры:
-
charsetName— имя поддерживаемой кодировки - Возвращает:
- результирующий массив байтов
- Исключения:
-
UnsupportedEncodingException— если кодировка с указанным именем не поддерживается - Начиная с:
- 1.1
getBytes
public byte[] getBytes(Charset charset)
String в последовательность байтов с помощью заданной кодировки, сохраняя результат в новом массиве байтов. Этот метод всегда заменяет последовательности некорректного ввода и символов, которые нельзя отобразить, массивом байтов замены по умолчанию для этой кодировки. Класс CharsetEncoder следует использовать, если требуется более гибко управлять процессом кодирования.
- Параметры:
-
charset— кодировка Charset, используемая для кодированияString - Возвращает:
- Полученный массив байтов
- Начиная с:
- 1.6
getBytes
public byte[] getBytes()
String в последовательность байтов с помощью default charset, сохраняя результат в новом массиве байтов. Поведение этого метода, если эту строку нельзя закодировать с использованием кодировки по умолчанию, не определено. Класс CharsetEncoder следует использовать, если требуется более гибко управлять процессом кодирования.
- Возвращает:
- Полученный массив байтов
- Начиная с:
- 1.1
equals
public boolean equals(Object anObject)
true тогда и только тогда, когда аргумент не является null и представляет собой объект
String, содержащий ту же последовательность символов, что и этот объект. Для более точного сравнения строк см. Collator.
contentEquals
public boolean contentEquals(StringBuffer sb)
StringBuffer. Результат равен true тогда и только тогда, когда эта String представляет ту же последовательность символов, что и указанная StringBuffer. Этот метод синхронизируется по StringBuffer. Для более точного сравнения строк см. Collator.
- Параметры:
-
sb—StringBuffer, с которым сравнивается эта строкаString - Возвращает:
-
true, если этаStringпредставляет ту же последовательность символов, что и указаннаяStringBuffer, иfalseв противном случае - Начиная с:
- 1.4
contentEquals
public boolean contentEquals(CharSequence cs)
CharSequence. Результат равен true тогда и только тогда, когда эта String представляет ту же последовательность значений char, что и указанная последовательность. Обратите внимание: если CharSequence является StringBuffer, метод синхронизируется по ней. Для более точного сравнения строк см. Collator.
- Параметры:
-
cs— последовательность, с которой сравнивается эта строкаString - Возвращает:
-
true, если этаStringпредставляет ту же последовательность значений char, что и указанная последовательность, иfalseв противном случае - Начиная с:
- 1.5
equalsIgnoreCase
public boolean equalsIgnoreCase(String anotherString)
String с другой String без учета регистра. Две строки считаются равными без учета регистра, если они имеют одинаковую длину, а соответствующие кодовые точки Unicode в этих строках равны без учета регистра. Две кодовые точки Unicode считаются одинаковыми без учета регистра, если выполняется хотя бы одно из следующих условий:
- Две кодовые точки Unicode совпадают (при сравнении оператором
==) - Вызов
Character.toLowerCase(Character.toUpperCase(int))для каждой кодовой точки Unicode дает одинаковый результат
Обратите внимание: этот метод не учитывает локаль и может давать неудовлетворительные результаты для некоторых локалей. Класс Collator выполняет сравнение с учетом локали.
- Параметры:
-
anotherString—String, с которым сравнивается эта строкаString - Возвращает:
-
true, если аргумент не являетсяnullи представляет собой эквивалентнуюStringбез учета регистра; в противном случае возвращаетfalse - См. также:
compareTo
public int compareTo(String anotherString)
String, лексикографически сравнивается с последовательностью символов, представленной строкой-аргументом. Результат — отрицательное целое число, если этот объект String лексикографически предшествует строке-аргументу. Результат — положительное целое число, если этот объект String лексикографически следует за строкой-аргументом. Результат равен нулю, если строки равны; compareTo возвращает 0 тогда и только тогда, когда метод equals(Object) вернул бы true. Так определяется лексикографический порядок. Если две строки различаются, то либо в некоторой позиции, допустимой для обеих строк, находятся разные символы, либо строки имеют разную длину, либо выполняются оба условия. Если символы в одной или нескольких позициях различаются, пусть k — наименьший такой индекс; тогда строка, символ которой в позиции k имеет меньшее значение при сравнении оператором <, лексикографически предшествует другой строке. В этом случае compareTo возвращает разность значений двух символов в позиции k этих строк, то есть значение:
Если нет позиций, в которых строки различаются, более короткая строка лексикографически предшествует более длинной. В этом случаеthis.charAt(k)-anotherString.charAt(k)
compareTo возвращает разность длин строк, то есть значение: this.length()-anotherString.length()
Для более точного сравнения строк см. Collator.
- Определено в:
-
compareToв интерфейсеComparable<String> - Параметры:
-
anotherString— сравниваемаяString. - Возвращает:
- значение
0, если строка-аргумент равна этой строке; значение меньше0, если эта строка лексикографически меньше строки-аргумента; и значение больше0, если эта строка лексикографически больше строки-аргумента.
compareToIgnoreCase
public int compareToIgnoreCase(String str)
compareTo для версий строк с преобразованным регистром, в которых различия регистра устранены вызовом Character.toLowerCase(Character.toUpperCase(int)) для каждой кодовой точки Unicode. Обратите внимание: этот метод не учитывает локаль и может задавать неудовлетворительный порядок для некоторых локалей. Класс Collator выполняет сравнение с учетом локали.
- Параметры:
-
str— сравниваемаяString. - Возвращает:
- отрицательное целое число, ноль или положительное целое число, если указанная String больше, равна или меньше этой String соответственно, без учета регистра.
- Начиная с:
- 1.2
- См. также:
regionMatches
public boolean regionMatches(int toffset, String other, int ooffset, int len)
Подстрока этого объекта String сравнивается с подстрокой аргумента other. Результат равен true, если эти подстроки представляют одинаковые последовательности символов. Сравниваемая подстрока этого объекта String начинается с индекса toffset и имеет длину len. Сравниваемая подстрока other начинается с индекса ooffset и имеет длину len. Результат равен false тогда и только тогда, когда выполняется хотя бы одно из следующих условий:
-
toffsetотрицательно. -
ooffsetотрицательно. -
toffset+lenбольше длины этого объектаString. -
ooffset+lenбольше длины другого аргумента. - Существует неотрицательное целое число k, меньшее
len, такое что:this.charAt(toffset +k) != other.charAt(ooffset +k)
Обратите внимание: этот метод не учитывает локаль. Класс Collator выполняет сравнение с учетом локали.
- Параметры:
-
toffset— начальное смещение подрегиона в этой строке. -
other— строка-аргумент. -
ooffset— начальное смещение подрегиона в строке-аргументе. -
len— число сравниваемых символов. - Возвращает:
-
true, если указанный подрегион этой строки точно совпадает с указанным подрегионом строки-аргумента; в противном случае возвращаетfalse.
regionMatches
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
Подстрока этого объекта String сравнивается с подстрокой аргумента other. Результат равен true, если эти подстроки представляют одинаковые последовательности кодовых точек Unicode; регистр игнорируется тогда и только тогда, когда ignoreCase равно true. Сравниваются последовательности tsequence и osequence, где tsequence — последовательность, полученная так, как если бы был вызван this.substring(toffset, toffset + len).codePoints(), а osequence — последовательность, полученная так, как если бы был вызван other.substring(ooffset, ooffset + len).codePoints(). Результат равен true тогда и только тогда, когда выполняются все следующие условия:
-
toffsetнеотрицательно. -
ooffsetнеотрицательно. -
toffset+lenменьше или равно длине этого объектаString. -
ooffset+lenменьше или равно длине другого аргумента. - если
ignoreCaseравноfalse, все пары соответствующих кодовых точек Unicode имеют одинаковые целочисленные значения; или еслиignoreCaseравноtrue, вызововCharacter.toLowerCase(иCharacter.toUpperCase(int))для всех пар кодовых точек Unicode приводит к одинаковым целочисленным значениям.
Обратите внимание: этот метод не учитывает локаль и может давать неудовлетворительные результаты для некоторых локалей, если ignoreCase равно true. Класс Collator выполняет сравнение с учетом локали.
- Параметры:
-
ignoreCase— если равноtrue, при сравнении символов регистр игнорируется. -
toffset— начальное смещение подрегиона в этой строке. -
other— строка-аргумент. -
ooffset— начальное смещение подрегиона в строке-аргументе. -
len— число сравниваемых символов (16-разрядных кодовых единиц Unicode, значенийchar). - Возвращает:
-
true, если указанный подрегион этой строки совпадает с указанным подрегионом строки-аргумента; в противном случае возвращаетfalse. Точный характер совпадения или сравнения без учета регистра определяется аргументомignoreCase. - См. также:
startsWith
public boolean startsWith(String prefix, int toffset)
- Параметры:
-
prefix— префикс. -
toffset— позиция начала поиска в этой строке. - Возвращает:
-
true, если последовательность символов, представленная аргументом, является префиксом подстроки этого объекта, начинающейся с индексаtoffset; в противном случае возвращаетfalse. Результат равенfalse, еслиtoffsetотрицательно или больше длины этого объектаString; в противном случае результат совпадает с результатом выраженияthis.substring(toffset).startsWith(prefix)
startsWith
public boolean startsWith(String prefix)
- Параметры:
-
prefix— префикс. - Возвращает:
-
true, если последовательность символов, представленная аргументом, является префиксом последовательности символов, представленной этой строкой; в противном случае возвращаетfalse. Обратите также внимание: будет возвращеноtrue, если аргумент является пустой строкой или равен этому объектуStringсогласно методуequals(Object). - Начиная с:
- 1.0
endsWith
public boolean endsWith(String suffix)
- Параметры:
-
suffix— суффикс. - Возвращает:
-
true, если последовательность символов, представленная аргументом, является суффиксом последовательности символов, представленной этим объектом; в противном случае возвращаетfalse. Обратите внимание: результат будет равенtrue, если аргумент является пустой строкой или равен этому объектуStringсогласно методуequals(Object).
hashCode
public int hashCode()
String вычисляется по формуле с использованием арифметикиs[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
int, где s[i] — i-й символ строки, n — длина строки, а ^ обозначает возведение в степень. (Хеш-значение пустой строки равно нулю.)indexOf
public int indexOf(int ch)
String, встречается символ со значением ch, возвращается индекс (в кодовых единицах Unicode) его первого вхождения. Для значений ch в диапазоне от 0 до 0xFFFF (включительно) это наименьшее значение k, для которого: истинно. Для других значенийthis.charAt(k) == ch
ch это наименьшее значение k, для которого: истинно. В обоих случаях, если такой символ в этой строке не встречается, возвращаетсяthis.codePointAt(k) == ch
-1.- Параметры:
-
ch— символ (кодовая точка Unicode). - Возвращает:
- индекс первого вхождения символа в последовательности символов, представленной этим объектом, или
-1, если символ не встречается.
indexOf
public int indexOf(int ch, int fromIndex)
Если символ со значением ch встречается в последовательности символов, представленной этим объектом String, по индексу не меньше fromIndex, возвращается индекс его первого вхождения. Для значений ch в диапазоне от 0 до 0xFFFF (включительно) это наименьшее значение k, для которого:
истинно. Для других значений(this.charAt(k) == ch)&&(k >= fromIndex)
ch это наименьшее значение k, для которого: истинно. В обоих случаях, если такой символ не встречается в этой строке начиная с позиции(this.codePointAt(k) == ch)&&(k >= fromIndex)
fromIndex, возвращается -1. Значение fromIndex не ограничено. Если оно отрицательно, эффект такой же, как если бы оно равнялось нулю: поиск может выполняться по всей строке. Если оно больше длины этой строки, эффект такой же, как если бы оно равнялось длине строки: возвращается -1.
Все индексы задаются в значениях char (кодовых единицах Unicode).
- Примечание API:
- В отличие, например, от
substring(int), этот метод не выбрасывает исключение, еслиfromIndexнаходится вне допустимого диапазона. Вместо этого он возвращает -1, еслиfromIndexбольше длины строки. Сам по себе этот результат неотличим от ситуации, когдаchдействительно отсутствует в строке. Если требуется более строгое поведение, следует рассмотретьindexOf(int, int, int). Например, вsклассаStrings.indexOf(ch, fromIndex, s.length())выбросил бы исключение, если быfromIndexбыло больше длины строки или отрицательным. - Параметры:
-
ch— символ (кодовая точка Unicode). -
fromIndex— индекс, с которого начинается поиск. - Возвращает:
- индекс первого вхождения символа в последовательности символов, представленной этим объектом, который больше или равен
fromIndex, или-1, если символ не встречается.
indexOf
public int indexOf(int ch, int beginIndex, int endIndex)
beginIndex и останавливаясь перед endIndex. Если символ со значением ch встречается в последовательности символов, представленной этим объектом String, по индексу не меньше beginIndex, но меньше endIndex, возвращается индекс его первого вхождения. Для значений ch в диапазоне от 0 до 0xFFFF (включительно) это наименьшее значение k, для которого:
истинно. Для других значений(this.charAt(k) == ch) && (beginIndex <= k < endIndex)
ch это наименьшее значение k, для которого: истинно. В обоих случаях, если такой символ не встречается в этой строке начиная с позиции(this.codePointAt(k) == ch) && (beginIndex <= k < endIndex)
beginIndex и до позиции endIndex, возвращается -1. Все индексы задаются в значениях char (кодовых единицах Unicode).
- Параметры:
-
ch— символ (кодовая точка Unicode). -
beginIndex— индекс, с которого начинается поиск (включительно). -
endIndex— индекс, на котором заканчивается поиск (не включительно). - Возвращает:
- индекс первого вхождения символа в последовательности символов, представленной этим объектом, который больше или равен
beginIndexи меньшеendIndex, или-1, если символ не встречается. - Выбрасывает:
-
StringIndexOutOfBoundsException— еслиbeginIndexотрицательно,endIndexбольше длины этого объектаStringилиbeginIndexбольшеendIndex. - Начиная с:
- 21
lastIndexOf
public int lastIndexOf(int ch)
ch в диапазоне от 0 до 0xFFFF (включительно) возвращаемый индекс (в кодовых единицах Unicode) является наибольшим значением k, для которого: истинно. Для других значенийthis.charAt(k) == ch
ch это наибольшее значение k, для которого: истинно. В обоих случаях, если такой символ в этой строке не встречается, возвращаетсяthis.codePointAt(k) == ch
-1. Поиск в String выполняется в обратном направлении, начиная с последнего символа.- Параметры:
-
ch— символ (кодовая точка Unicode). - Возвращает:
- индекс последнего вхождения символа в последовательности символов, представленной этим объектом, или
-1, если символ не встречается.
lastIndexOf
public int lastIndexOf(int ch, int fromIndex)
ch в диапазоне от 0 до 0xFFFF (включительно) возвращаемый индекс является наибольшим значением k, для которого: истинно. Для других значений(this.charAt(k) == ch)&&(k <= fromIndex)
ch это наибольшее значение k, для которого: истинно. В обоих случаях, если такой символ не встречается в этой строке в позиции(this.codePointAt(k) == ch)&&(k <= fromIndex)
fromIndex или перед ней, возвращается -1. Все индексы задаются в значениях char (кодовых единицах Unicode).
- Параметры:
-
ch— символ (кодовая точка Unicode). -
fromIndex— индекс, с которого начинается поиск. ЗначениеfromIndexне ограничено. Если оно больше или равно длине этой строки, эффект такой же, как если бы оно равнялось длине строки минус один: поиск может выполняться по всей строке. Если оно отрицательно, эффект такой же, как если бы оно равнялось -1: возвращается -1. - Возвращает:
- индекс последнего вхождения символа в последовательности символов, представленной этим объектом, который меньше или равен
fromIndex, или-1, если символ не встречается до этой позиции.
indexOf
public int indexOf(String str)
Возвращаемый индекс — наименьшее значение k, для которого:
this.startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Параметры:
-
str— подстрока для поиска. - Возвращает:
- индекс первого вхождения указанной подстроки или
-1, если такого вхождения нет.
indexOf
public int indexOf(String str, int fromIndex)
Возвращаемый индекс — наименьшее значение k, для которого:
k >= Math.min(fromIndex, this.length()) &&
this.startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Примечание API:
- В отличие, например, от
substring(int), этот метод не выбрасывает исключение, еслиfromIndexнаходится вне допустимого диапазона. Вместо этого он возвращает -1, еслиfromIndexбольше длины строки. Сам по себе этот результат неотличим от ситуации, когдаstrдействительно отсутствует в строке. Если требуется более строгое поведение, следует рассмотретьindexOf(String, int, int). Например, дляsклассаStringи непустойstrвызовs.indexOf(str, fromIndex, s.length())выбросил бы исключение, если быfromIndexбыло больше длины строки или отрицательным. - Параметры:
-
str— подстрока для поиска. -
fromIndex— индекс, с которого начинается поиск. - Возвращает:
- индекс первого вхождения указанной подстроки, начиная с заданного индекса, или
-1, если такого вхождения нет.
indexOf
public int indexOf(String str, int beginIndex, int endIndex)
this. Этот метод возвращает тот же результат, что и вызов
s.substring(beginIndex, endIndex).indexOf(str) + beginIndex
если индекс, возвращённый indexOf(String), неотрицателен, и возвращает -1 в противном случае. (При этом подстрока не создаётся.)- Параметры:
-
str— подстрока для поиска. -
beginIndex— индекс, с которого начинается поиск (включительно). -
endIndex— индекс, на котором заканчивается поиск (не включительно). - Возвращает:
- индекс первого вхождения указанной подстроки в заданном диапазоне индексов или
-1, если такое вхождение отсутствует. - Выбрасывает:
-
StringIndexOutOfBoundsException— еслиbeginIndexотрицателен, илиendIndexбольше длины этого объектаString, илиbeginIndexбольшеendIndex. - Начиная с версии:
- 21
lastIndexOf
public int lastIndexOf(String str)
this.length(). Возвращаемый индекс — наибольшее значение k, для которого:
this.startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Параметры:
-
str— подстрока для поиска. - Возвращает:
- индекс последнего вхождения указанной подстроки или
-1, если такое вхождение отсутствует.
lastIndexOf
public int lastIndexOf(String str, int fromIndex)
Возвращаемый индекс — наибольшее значение k, для которого:
k <= Math.min(fromIndex, this.length()) &&
this.startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Параметры:
-
str— подстрока для поиска. -
fromIndex— индекс, с которого начинается поиск. - Возвращает:
- индекс последнего вхождения указанной подстроки при поиске в обратном направлении от указанного индекса или
-1, если такое вхождение отсутствует.
substring
public String substring(int beginIndex)
Примеры:
"unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".substring(9) returns "" (an empty string)
- Параметры:
-
beginIndex— начальный индекс, включительно. - Возвращает:
- указанную подстроку.
- Выбрасывает:
-
IndexOutOfBoundsException— еслиbeginIndexотрицателен или больше длины этого объектаString.
substring
public String substring(int beginIndex, int endIndex)
beginIndex и продолжается до символа с индексом endIndex - 1. Таким образом, длина подстроки равна endIndex-beginIndex. Примеры:
"hamburger".substring(4, 8) returns "urge" "smiles".substring(1, 5) returns "mile"
- Параметры:
-
beginIndex— начальный индекс, включительно. -
endIndex— конечный индекс, не включительно. - Возвращает:
- указанную подстроку.
- Выбрасывает:
-
IndexOutOfBoundsException— еслиbeginIndexотрицателен, илиendIndexбольше длины этого объектаString, илиbeginIndexбольшеendIndex.
subSequence
public CharSequence subSequence(int beginIndex, int endIndex)
Вызов этого метода вида
работает точно так же, как вызовstr.subSequence(begin, end)
str.substring(begin, end)
- Определено в:
-
subSequenceв интерфейсеCharSequence - Примечание API:
- Этот метод определён для того, чтобы класс
Stringмог реализовать интерфейсCharSequence. - Параметры:
-
beginIndex— начальный индекс, включительно. -
endIndex— конечный индекс, не включительно. - Возвращает:
- указанную подпоследовательность.
- Выбрасывает:
-
IndexOutOfBoundsException— еслиbeginIndexилиendIndexотрицателен, еслиendIndexбольшеlength()или еслиbeginIndexбольшеendIndex - Начиная с версии:
- 1.4
concat
public String concat(String str)
Если длина строки-аргумента равна 0, возвращается этот объект String. В противном случае возвращается объект String, представляющий символьную последовательность, которая является конкатенацией символьной последовательности, представленной этим объектом String, и символьной последовательности, представленной строкой-аргументом.
Примеры:
"cares".concat("s") returns "caress"
"to".concat("get").concat("her") returns "together"
- Параметры:
-
str—String, добавляемая в конец этогоString. - Возвращает:
- строку, представляющую конкатенацию символов этого объекта, за которыми следуют символы строки-аргумента.
replace
public String replace(char oldChar, char newChar)
oldChar в этой строке на newChar. Если символ oldChar отсутствует в символьной последовательности, представленной этим объектом String, возвращается ссылка на этот объект String. В противном случае возвращается объект String, представляющий символьную последовательность, идентичную последовательности, представленной этим объектом String, за исключением того, что каждое вхождение oldChar заменено вхождением newChar.
Примеры:
"mesquite in your cellar".replace('e', 'o')
returns "mosquito in your collar"
"the war of baronets".replace('r', 'y')
returns "the way of bayonets"
"sparring with a purple porpoise".replace('p', 't')
returns "starring with a turtle tortoise"
"JonL".replace('q', 'x') returns "JonL" (no change)
- Параметры:
-
oldChar— старый символ. -
newChar— новый символ. - Возвращает:
- строку, полученную из этой строки заменой каждого вхождения
oldCharнаnewChar.
matches
public boolean matches(String regex)
Вызов этого метода вида str.matches(regex) даёт точно такой же результат, как выражение
Pattern.matches(regex, str)
- Параметры:
-
regex— регулярное выражение, которому должна соответствовать эта строка - Возвращает:
-
trueтогда и только тогда, когда эта строка соответствует заданному регулярному выражению - Выбрасывает:
-
PatternSyntaxException— если синтаксис регулярного выражения некорректен - Начиная с версии:
- 1.4
- См. также:
contains
public boolean contains(CharSequence s)
- Параметры:
-
s— последовательность для поиска - Возвращает:
- true, если эта строка содержит
s, иначе false - Начиная с версии:
- 1.5
replaceFirst
public String replaceFirst(String regex, String replacement)
Вызов этого метода вида str.replaceFirst(regex, repl) даёт точно такой же результат, как выражение
Pattern.compile(regex).matcher(str).replaceFirst(repl)
Обратите внимание, что обратные косые черты (\) и знаки доллара ($) в строке замены могут привести к результатам, отличающимся от тех, которые были бы получены при использовании этой строки как буквальной замены; см. Matcher.replaceFirst(String). При необходимости используйте Matcher.quoteReplacement(String), чтобы отключить специальное значение этих символов.
- Параметры:
-
regex— регулярное выражение, которому должна соответствовать эта строка -
replacement— строка, подставляемая вместо первого совпадения - Возвращает:
- Результирующий
String - Выбрасывает:
-
PatternSyntaxException— если синтаксис регулярного выражения некорректен - Начиная с версии:
- 1.4
- См. также:
replaceAll
public String replaceAll(String regex, String replacement)
Вызов этого метода вида str.replaceAll(regex, repl) даёт точно такой же результат, как выражение
Pattern.compile(regex).matcher(str).replaceAll(repl)
Обратите внимание, что обратные косые черты (\) и знаки доллара ($) в строке замены могут привести к результатам, отличающимся от тех, которые были бы получены при использовании этой строки как буквальной замены; см. Matcher.replaceAll. При необходимости используйте Matcher.quoteReplacement(String), чтобы отключить специальное значение этих символов.
- Параметры:
-
regex— регулярное выражение, которому должна соответствовать эта строка -
replacement— строка, подставляемая вместо каждого совпадения - Возвращает:
- Результирующий
String - Выбрасывает:
-
PatternSyntaxException— если синтаксис регулярного выражения некорректен - Начиная с версии:
- 1.4
- См. также:
replace
public String replace(CharSequence target, CharSequence replacement)
- Параметры:
-
target— последовательность значений char для замены -
replacement— последовательность значений char для замены - Возвращает:
- результирующую строку
- Начиная с версии:
- 1.5
split
public String[] split(String regex, int limit)
Возвращаемый этим методом массив содержит каждую подстроку этой строки, за которой следует другая подстрока, соответствующая заданному выражению, либо конец строки. Подстроки в массиве расположены в том же порядке, в котором они встречаются в этой строке. Если выражение не соответствует ни одной части входных данных, результирующий массив содержит только один элемент — эту строку.
Если в начале этой строки имеется совпадение ненулевой ширины, в начало результирующего массива включается пустая начальная подстрока. Однако совпадение нулевой ширины в начале никогда не приводит к появлению такой пустой начальной подстроки.
Параметр limit определяет, сколько раз применяется шаблон, и поэтому влияет на длину результирующего массива.
Если limit положителен, шаблон будет применён не более limit - 1 раз, длина массива не превысит limit, а последний элемент массива будет содержать все входные данные после последнего найденного разделителя.
Если limit равен нулю, шаблон будет применяться максимально возможное число раз, длина массива может быть любой, а завершающие пустые строки будут отброшены.
Если limit отрицателен, шаблон будет применяться максимально возможное число раз, а длина массива может быть любой.
Например, строка "boo:and:foo" даёт следующие результаты при указанных значениях параметров:
Регулярное выражение Ограничение Результат : 2 { "boo", "and:foo" }5 { "boo", "and", "foo" }-2 { "boo", "and", "foo" }o 5 { "b", "", ":and:f", "", "" }-2 { "b", "", ":and:f", "", "" }0 { "b", "", ":and:f" }
Вызов этого метода вида str.split(regex, n) даёт тот же результат, что и выражение
Pattern.compile(regex).split(str, n)
- Параметры:
-
regex— регулярное выражение-разделитель -
limit— пороговое значение результата, как описано выше - Возвращает:
- массив строк, полученный разбиением этой строки по совпадениям с заданным регулярным выражением
- Выбрасывает:
-
PatternSyntaxException— если синтаксис регулярного выражения некорректен - Начиная с версии:
- 1.4
- См. также:
splitWithDelimiters
public String[] splitWithDelimiters(String regex, int limit)
Возвращаемый этим методом массив содержит каждую подстроку этой строки, за которой следует другая подстрока, соответствующая заданному выражению, либо конец строки. За каждой подстрокой непосредственно следует подпоследовательность (разделитель), соответствующая заданному выражению, кроме последней подстроки, за которой ничего не следует. Подстроки и разделители в массиве расположены в том же порядке, в котором они встречаются во входных данных. Если выражение не соответствует ни одной части входных данных, результирующий массив содержит только один элемент — эту строку.
Если в начале этой строки имеется совпадение ненулевой ширины, в начало результирующего массива включается пустая начальная подстрока. Однако совпадение нулевой ширины в начале никогда не приводит к появлению такой пустой начальной подстроки или пустого разделителя.
Параметр limit определяет, сколько раз применяется шаблон, и поэтому влияет на длину результирующего массива.
- Если limit положителен, шаблон будет применён не более limit - 1 раза, длина массива не превысит 2 × limit - 1, а последний элемент массива будет содержать все входные данные после последнего найденного разделителя.
- Если limit равен нулю, шаблон будет применяться максимально возможное число раз, длина массива может быть любой, а завершающие пустые строки будут отброшены.
- Если limit отрицателен, шаблон будет применяться максимально возможное число раз, а длина массива может быть любой.
Например, входные данные "boo:::and::foo" дают следующие результаты при указанных значениях параметров:
| Регулярное выражение | Ограничение | Результат |
|---|---|---|
| :+ | 2 | { "boo", ":::", "and::foo" } |
| 5 | { "boo", ":::", "and", "::", "foo" } |
|
| -1 | { "boo", ":::", "and", "::", "foo" } |
|
| o | 5 | { "b", "o", "", "o", ":::and::f", "o", "", "o", "" } |
| -1 | { "b", "o", "", "o", ":::and::f", "o", "", "o", "" } |
|
| 0 | { "b", "o", "", "o", ":::and::f", "o", "", "o" } |
- Примечание API:
- Вызов этого метода вида str.
splitWithDelimiters(regex,n)даёт тот же результат, что и выражениеPattern.compile(regex).splitWithDelimiters(str, n) - Параметры:
-
regex— регулярное выражение-разделитель -
limit— пороговое значение результата, как описано выше - Возвращает:
- массив строк, полученный разбиением этой строки по совпадениям с заданным регулярным выражением; подстроки и соответствующие разделители чередуются
- Начиная с версии:
- 21
split
public String[] split(String regex)
Этот метод работает так, как если бы он вызывал двухаргументный метод split с заданным выражением и нулевым аргументом limit. Поэтому завершающие пустые строки не включаются в результирующий массив.
Например, строка "boo:and:foo" даёт следующие результаты при использовании этих выражений:
Регулярное выражение Результат : { "boo", "and", "foo" }o { "b", "", ":and:f" }
- Параметры:
-
regex— регулярное выражение-разделитель - Возвращает:
- массив строк, полученный разбиением этой строки по совпадениям с заданным регулярным выражением
- Выбрасывает:
-
PatternSyntaxException— если синтаксис регулярного выражения некорректен - Начиная с версии:
- 1.4
- См. также:
join
public static String join(CharSequence delimiter, CharSequence... elements)
CharSequence elements, объединённых с копией указанного delimiter. Например,Обратите внимание: если элемент равен null, добавляетсяString message = String.join("-", "Java", "is", "cool"); // message returned is: "Java-is-cool"
"null".- Параметры:
-
delimiter— разделитель между элементами -
elements— объединяемые элементы. - Возвращает:
- новую
String, состоящую изelements, разделённыхdelimiter - Выбрасывает:
-
NullPointerException— еслиdelimiterилиelementsравенnull - Начиная с версии:
- 1.8
- См. также:
join
public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
String, составленную из копий CharSequence elements, объединённых с копией указанного delimiter. Например,Обратите внимание: если отдельный элемент равенList<String> strings = List.of("Java", "is", "cool"); String message = String.join(" ", strings); // message returned is: "Java is cool" Set<String> strings = new LinkedHashSet<>(List.of("Java", "is", "very", "cool")); String message = String.join("-", strings); // message returned is: "Java-is-very-cool"
null, добавляется "null".- Параметры:
-
delimiter— последовательность символов, используемая для разделения каждого изelementsв результирующемString -
elements—Iterable, в котором будут объединеныelements. - Возвращает:
- новую
String, составленную из аргументаelements - Выбрасывает:
-
NullPointerException— еслиdelimiterилиelementsравенnull - Начиная с версии:
- 1.8
- См. также:
toLowerCase
public String toLowerCase(Locale locale)
String в нижний регистр, используя правила указанной Locale. Изменение регистра выполняется на основе версии стандарта Unicode, указанной в классе Character. Поскольку соответствие при изменении регистра не всегда является отображением 1:1 между символами char, результирующий String и этот String могут иметь разную длину. Примеры преобразования в нижний регистр приведены в таблице:
| Код языка локали | Верхний регистр | Нижний регистр | Описание |
|---|---|---|---|
| tr (турецкий) | \u0130 | \u0069 | заглавная буква I с точкой сверху -> строчная буква i |
| tr (турецкий) | \u0049 | \u0131 | заглавная буква I -> строчная буква i без точки |
| (все) | French Fries | french fries | все символы String преобразованы в нижний регистр |
| (все) | ΙΧΘΥΣ | ιχθυσ | все символы String преобразованы в нижний регистр |
- Параметры:
-
locale— использовать правила преобразования регистра для этой локали - Возвращает:
Stringв нижнем регистре.- Начиная с версии:
- 1.1
- См. также:
toLowerCase
public String toLowerCase()
String в нижний регистр, используя правила локали по умолчанию. Этот метод эквивалентен toLowerCase(Locale.getDefault()).- Примечание API:
- Этот метод зависит от локали и может приводить к неожиданным результатам, если использовать его для строк, которые должны интерпретироваться независимо от локали. Примерами являются идентификаторы языков программирования, ключи протоколов и теги HTML. Например,
"TITLE".toLowerCase()в турецкой локали возвращает"t\u0131tle", где '\u0131' — символ LATIN SMALL LETTER DOTLESS I. Чтобы получить правильные результаты для строк, не зависящих от локали, используйтеtoLowerCase(Locale.ROOT). - Возвращает:
Stringв нижнем регистре.- См. также:
toUpperCase
public String toUpperCase(Locale locale)
String в верхний регистр, используя правила указанной Locale. Изменение регистра основано на версии стандарта Unicode, указанной для класса Character. Поскольку преобразование регистра не всегда выполняется в отношении 1:1 для символов, длина результирующей String и этой String может различаться. Примеры преобразования регистра с учетом локали и преобразования 1:M приведены в следующей таблице:
| Код языка локали | Нижний регистр | Верхний регистр | Описание |
|---|---|---|---|
| tr (турецкий) | \u0069 | \u0130 | строчная буква i -> заглавная буква I с точкой сверху |
| tr (турецкий) | \u0131 | \u0049 | строчная буква без точки i -> заглавная буква I |
| (все) | \u00df | \u0053 \u0053 | строчная буква sharp s -> две буквы: SS |
| (все) | Fahrvergnügen | FAHRVERGNÜGEN |
- Параметры:
-
locale- использовать правила преобразования регистра для этой локали - Возвращает:
Stringв верхнем регистре.- С версии:
- 1.1
- См. также:
toUpperCase
public String toUpperCase()
String в верхний регистр, используя правила локали по умолчанию. Этот метод эквивалентен toUpperCase(Locale.getDefault()).- Примечание к API:
- Этот метод зависит от локали и может приводить к неожиданным результатам, если использовать его для строк, которые должны интерпретироваться независимо от локали. Например, это идентификаторы языков программирования, ключи протоколов и HTML-теги. Так,
"title".toUpperCase()в турецкой локали возвращает"T\u0130TLE", где '\u0130' — символ LATIN CAPITAL LETTER I WITH DOT ABOVE. Чтобы получить правильные результаты для строк, не зависящих от локали, используйтеtoUpperCase(Locale.ROOT). - Возвращает:
Stringв верхнем регистре.- См. также:
trim
public String trim()
'U+0020' (символ пробела). Если этот объект String представляет пустую последовательность символов или если коды первого и последнего символов последовательности символов, представленной этим объектом String, не являются кодами пробелов (в соответствии с приведенным выше определением), возвращается ссылка на этот объект String.
В противном случае, если все символы этой строки являются пробелами (в соответствии с приведенным выше определением), возвращается объект String, представляющий пустую строку.
В противном случае пусть k — индекс первого символа строки, код которого не является кодом пробела (в соответствии с приведенным выше определением), а m — индекс последнего символа строки, код которого не является кодом пробела (в соответствии с приведенным выше определением). Возвращается объект String, представляющий подстроку этой строки, которая начинается с символа с индексом k и заканчивается символом с индексом m, то есть результат this.substring(k, m + 1).
- Примечание к API:
- Этот метод удаляет из строки начальные и конечные пробелы, а также управляющие символы ASCII. Чтобы удалять символы, используя определение пробельных символов на основе Unicode, используйте
strip,stripIndent,stripLeadingилиstripTrailing. - Возвращает:
- строку, значением которой является эта строка без начальных и конечных пробелов, либо эту строку, если у нее нет начальных или конечных пробелов.
strip
public String strip()
Если этот объект String представляет пустую строку или если все кодовые точки этой строки являются пробельными символами, возвращается пустая строка.
В противном случае возвращает подстроку этой строки, начинающуюся с первой кодовой точки, которая не является пробельным символом, и заканчивающуюся последней кодовой точкой, которая не является пробельным символом.
Этот метод можно использовать для удаления пробельных символов в начале и конце строки.
- Возвращает:
- строку, значением которой является эта строка без начальных и конечных пробельных символов
- С версии:
- 11
- См. также:
stripLeading
public String stripLeading()
Если этот объект String представляет пустую строку или если все кодовые точки этой строки являются пробельными символами, возвращается пустая строка.
В противном случае возвращает подстроку этой строки, начинающуюся с первой кодовой точки, которая не является пробельным символом, и заканчивающуюся последней кодовой точкой этой строки.
Этот метод можно использовать для удаления пробельных символов в начале строки.
- Возвращает:
- строку, значением которой является эта строка без начальных пробельных символов
- С версии:
- 11
- См. также:
stripTrailing
public String stripTrailing()
Если этот объект String представляет пустую строку или если все символы этой строки являются пробельными символами, возвращается пустая строка.
В противном случае возвращает подстроку этой строки, начинающуюся с первой кодовой точки этой строки и заканчивающуюся последней кодовой точкой, которая не является пробельным символом.
Этот метод можно использовать для удаления пробельных символов в конце строки.
- Возвращает:
- строку, значением которой является эта строка без конечных пробельных символов
- С версии:
- 11
- См. также:
isBlank
public boolean isBlank()
true, если строка пуста или содержит только кодовые точки пробельных символов; в противном случае возвращает false.- Возвращает:
-
true, если строка пуста или содержит только кодовые точки пробельных символов; в противном случае возвращаетfalse - С версии:
- 11
- См. также:
lines
public Stream<String> lines()
Разделитель строки — это один из следующих символов: перевод строки "\n" (U+000A), возврат каретки "\r" (U+000D) или возврат каретки, непосредственно за которым следует перевод строки "\r\n" (U+000D U+000A).
Строка — это либо последовательность из нуля или более символов, за которой следует разделитель строки, либо последовательность из одного или более символов, за которой следует конец строки. Строка не включает разделитель строки.
Поток, возвращаемый этим методом, содержит строки из этой строки в порядке их следования.
- Примечание к API:
- Из этого определения строки следует, что пустая строка содержит ноль строк и что после разделителя строк в конце строки нет пустой строки.
- Примечание по реализации:
- Этот метод работает быстрее, чем split("\R"), поскольку предоставляет элементы лениво и быстрее ищет разделители строк.
- Возвращает:
- поток строк, извлеченных из этой строки
- С версии:
- 11
indent
public String indent(int n)
n и нормализует символы окончания строк. Эта строка концептуально разделяется на строки с помощью lines(). Затем каждая строка изменяется, как описано ниже, и в ее конец добавляется перевод строки "\n" (U+000A). Полученные строки объединяются и возвращаются.
Если n > 0, в начало каждой строки вставляются n пробелов (U+0020).
Если n < 0, из начала каждой строки удаляется до n пробельных символов. Если в строке недостаточно пробельных символов, удаляются все начальные пробельные символы. Каждый пробельный символ считается одним символом. В частности, символ табуляции "\t" (U+0009) считается одним символом и не расширяется.
Если n == 0, строка остается без изменений. Однако разделители строк все равно нормализуются.
- Параметры:
-
n- количество начальных пробельных символов, которые нужно добавить или удалить - Возвращает:
- строку с измененными отступами и нормализованными окончаниями строк
- С версии:
- 12
- См. также:
stripIndent
public String stripIndent()
В текстовых блоках часто присутствуют случайные пробельные символы, выравнивающие содержимое относительно открывающего разделителя. Например, в следующем коде точки обозначают случайные пробельные символы:
Этот метод рассматривает случайные пробельные символы как отступ, который нужно удалить, сохраняя относительные отступы содержимого. Используя | для обозначения начала каждой строки:String html = """ ..............<html> .............. <body> .............. <p>Hello, world</p> .............. </body> ..............</html> ..............""";
Сначала извлекаются отдельные строки этой строки. Строка — это последовательность из нуля или более символов, за которой следует разделитель строк или конец строки. Если строка содержит хотя бы один разделитель строк, последняя строка состоит из символов между последним разделителем и концом строки. В противном случае, если строка не содержит разделителей, последняя строка начинается в начале строки и заканчивается в ее конце, то есть представляет собой всю строку. Строка не включает разделитель строки.|<html> | <body> | <p>Hello, world</p> | </body> |</html>
Затем определяется минимальный отступ (min) следующим образом:
-
Для каждой непустой строки (согласно определению
isBlank()) подсчитываются начальные пробельные символы. -
Также подсчитываются начальные пробельные символы в последней строке, даже если она пустая.
Значение min равно наименьшему из этих количеств.
Для каждой непустой строки удаляются min начальных пробельных символов, а также все конечные пробельные символы. Пустые строки заменяются пустой строкой.
Наконец, строки объединяются в новую строку с использованием символа LF "\n" (U+000A) в качестве разделителя.
- Примечание к API:
- Основное назначение этого метода — сдвинуть блок строк максимально влево, сохранив относительные отступы. Таким образом, у строк с наименьшим отступом не будет начальных пробельных символов. Результат будет содержать столько же разделителей строк, сколько и эта строка. Если эта строка заканчивается разделителем строк, результат также будет заканчиваться разделителем строк.
- Требования к реализации:
- Этот метод считает ширину всех пробельных символов одинаковой. Если отступы во всех строках последовательно образованы одинаковыми последовательностями символов, результат будет соответствовать описанному выше.
- Возвращает:
- строку с удаленными случайными отступами и нормализованными разделителями строк
- С версии:
- 15
- См. также:
translateEscapes
public String translateEscapes()
Последовательности escape-кодов преобразуются следующим образом:
| Escape-код | Название | Преобразование |
|---|---|---|
\b | забой | U+0008 |
\t | горизонтальная табуляция | U+0009 |
\n | перевод строки | U+000A |
\f | перевод страницы | U+000C |
\r | возврат каретки | U+000D |
\s | пробел | U+0020 |
\" | двойная кавычка | U+0022 |
\' | одинарная кавычка | U+0027 |
\\ | обратная косая черта | U+005C |
\0 - \377 | восьмеричная escape-последовательность | эквивалентные кодовые точки |
\<line-terminator> | продолжение | отбрасывается |
- Примечание по реализации:
- Этот метод не преобразует escape-последовательности Unicode, например "
\u2022". Escape-последовательности Unicode преобразуются компилятором Java при чтении входных символов и не входят в спецификацию строковых литералов. - Возвращает:
- Строку с преобразованными escape-последовательностями.
- Выбрасывает:
-
IllegalArgumentException- если escape-последовательность имеет неверный формат. - См. Спецификацию языка Java:
- 3.10.7 Escape-последовательности
- С версии:
- 15
transform
public <R> R transform(Function<? super String, ? extends R> f)
this. Функция должна принимать один аргумент типа String и возвращать результат типа R. Любое исключение, выброшенное f.apply(), будет передано вызывающему коду.
- Параметры типа:
R- тип результата- Параметры:
-
f- функция, которую нужно применить - Возвращает:
- результат применения функции к этой строке
- С версии:
- 12
- См. также:
toString
public String toString()
- Определен в:
-
toStringв интерфейсеCharSequence - Переопределяет:
-
toStringв классеObject - Возвращает:
- саму строку.
chars
public IntStream chars()
int, полученных путем дополнения нулями значений char этой последовательности. Любой символ char, соответствующий кодовой точке суррогата, передается без интерпретации.- Определен в:
-
charsв интерфейсеCharSequence - Возвращает:
- IntStream значений char из этой последовательности
- С версии:
- 9
codePoints
public IntStream codePoints()
int, которые затем передаются в поток.- Определен в:
-
codePointsв интерфейсеCharSequence - Возвращает:
- IntStream кодовых точек Unicode из этой последовательности
- С версии:
- 9
toCharArray
public char[] toCharArray()
- Возвращает:
- новый массив символов, длина которого равна длине этой строки и содержимое которого инициализировано последовательностью символов, представленной этой строкой.
format
public static String format(String format, Object... args)
Всегда используется локаль, возвращаемая методом Locale.getDefault(Locale.Category) с указанной категорией FORMAT.
- Параметры:
-
format- строка формата -
args- аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Число аргументов переменно и может быть равно нулю. Максимальное число аргументов ограничено максимальной размерностью массива Java, определенной в Спецификации виртуальной машины Java. Поведение при аргументеnullзависит от преобразования. - Возвращает:
- отформатированную строку
- Выбрасывает:
-
IllegalFormatException- если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с указанными аргументами, аргументов недостаточно для данной строки формата или возникли другие недопустимые условия. Описание всех возможных ошибок форматирования см. в разделе Подробности спецификации класса formatter. - С версии:
- 1.5
- См. также:
format
public static String format(Locale l, String format, Object... args)
- Параметры:
-
l- локаль, используемая при форматировании. Еслиlравноnull, локализация не применяется. -
format- строка формата -
args- аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Число аргументов переменно и может быть равно нулю. Максимальное число аргументов ограничено максимальной размерностью массива Java, определенной в Спецификации виртуальной машины Java. Поведение при аргументеnullзависит от преобразования. - Возвращает:
- отформатированную строку
- Выбрасывает:
-
IllegalFormatException- если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с указанными аргументами, аргументов недостаточно для данной строки формата или возникли другие недопустимые условия. Описание всех возможных ошибок форматирования см. в разделе Подробности спецификации класса formatter - С версии:
- 1.5
- См. также:
formatted
public String formatted(Object... args)
- Требования к реализации:
- Этот метод эквивалентен
String.format(this, args). - Параметры:
-
args- аргументы, на которые ссылаются спецификаторы формата в этой строке. - Возвращает:
- отформатированную строку
- С версии:
- 15
- См. также:
valueOf
public static String valueOf(Object obj)
Object.- Параметры:
-
obj- объект типаObject. - Возвращает:
- если аргумент равен
null, возвращается строка, равная"null"; в противном случае возвращается значениеobj.toString(). - См. также:
valueOf
public static String valueOf(char[] data)
char. Содержимое массива символов копируется; последующее изменение массива символов не влияет на возвращаемую строку. Содержимое строки не определено, если массив символов изменяется во время создания строки.
- Параметры:
-
data- массив символов. - Возвращает:
- объект
String, содержащий символы массива символов.
valueOf
public static String valueOf(char[] data, int offset, int count)
char. Аргумент offset — индекс первого символа подмассива. Аргумент count задает длину подмассива. Содержимое подмассива копируется; последующее изменение массива символов не влияет на возвращаемую строку.
Содержимое строки не определено, если массив символов изменяется во время создания строки.
- Параметры:
-
data- массив символов. -
offset- начальное смещение подмассива. -
count- длина подмассива. - Возвращает:
- объект
String, содержащий символы указанного подмассива массива символов. - Выбрасывает:
-
IndexOutOfBoundsException- еслиoffsetотрицательно, илиcountотрицательно, илиoffset+countбольше, чемdata.length.
copyValueOf
public static String copyValueOf(char[] data, int offset, int count)
valueOf(char[], int, int).- Параметры:
-
data- массив символов. -
offset- начальное смещение подмассива. -
count- длина подмассива. - Возвращает:
- объект
String, содержащий символы указанного подмассива массива символов. - Выбрасывает:
-
IndexOutOfBoundsException- еслиoffsetотрицательно, илиcountотрицательно, илиoffset+countбольше, чемdata.length.
copyValueOf
public static String copyValueOf(char[] data)
valueOf(char[]).- Параметры:
-
data- массив символов. - Возвращает:
- объект
String, содержащий символы массива символов.
valueOf
public static String valueOf(boolean b)
boolean.- Параметры:
-
b- значение типаboolean. - Возвращает:
- если аргумент равен
true, возвращается строка, равная"true"; в противном случае возвращается строка, равная"false".
valueOf
public static String valueOf(char c)
char.- Параметры:
-
c—char. - Возвращает:
- строку длины
1, единственным символом которой является аргументc.
valueOf
public static String valueOf(int i)
int. Представление в точности совпадает с возвращаемым методом Integer.toString с одним аргументом.
- Параметры:
-
i—int. - Возвращает:
- строковое представление аргумента
int. - См. также:
valueOf
public static String valueOf(long l)
long. Представление в точности совпадает с возвращаемым методом Long.toString с одним аргументом.
- Параметры:
-
l—long. - Возвращает:
- строковое представление аргумента
long. - См. также:
valueOf
public static String valueOf(float f)
float. Представление в точности совпадает с возвращаемым методом Float.toString с одним аргументом.
- Параметры:
-
f—float. - Возвращает:
- строковое представление аргумента
float. - См. также:
valueOf
public static String valueOf(double d)
double. Представление в точности совпадает с возвращаемым методом Double.toString с одним аргументом.
- Параметры:
-
d—double. - Возвращает:
- строковое представление аргумента
double. - См. также:
intern
public String intern()
Класс String приватно поддерживает пул строк, изначально пустой.
При вызове метода intern, если пул уже содержит строку, равную этому объекту String согласно методу equals(Object), возвращается строка из пула. В противном случае этот объект String добавляется в пул, и возвращается ссылка на этот объект String.
Следовательно, для любых двух строк s и t s.intern() == t.intern() является true тогда и только тогда, когда s.equals(t) является true.
Все строковые литералы и константные выражения со значениями-строками интернируются. Строковые литералы определены в разделе 3.10.5 документа Спецификация языка Java.
- Возвращает:
- строку с тем же содержимым, что и у этой строки, гарантированно взятую из пула уникальных строк.
repeat
public String repeat(int count)
count раз. Если эта строка пуста или значение count равно нулю, возвращается пустая строка.
- Параметры:
-
count— количество повторений - Возвращает:
- Строку, состоящую из этой строки, повторенной
countраз, или пустую строку, если эта строка пуста или значение count равно нулю - Выбрасывает:
-
IllegalArgumentException— если значениеcountотрицательное. - Начиная с версии:
- 11
describeConstable
public Optional<String> describeConstable()
Optional, содержащий номинальный дескриптор этого экземпляра, которым является сам экземпляр.- Определено в:
-
describeConstableв интерфейсеConstable - Возвращает:
Optional, описывающий экземпляр String- Начиная с версии:
- 12
resolveConstantDesc
public String resolveConstantDesc(MethodHandles.Lookup lookup)
ConstantDesc; результатом является сам экземпляр.- Определено в:
-
resolveConstantDescв интерфейсеConstantDesc - Параметры:
-
lookup— игнорируется - Возвращает:
- экземпляр String
- Начиная с версии:
- 12
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html