Класс 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 включает методы для проверки отдельных символов последовательности, сравнения строк, поиска в строках, извлечения подстрок и создания копии строки с переводом всех символов в верхний или нижний регистр. Преобразование регистра основано на версии стандарта Юникод, указанной классом Character.
Язык Java предоставляет специальную поддержку оператора конкатенации строк ( + ) и преобразования других объектов в строки. Дополнительную информацию о конкатенации строк и преобразовании см. в Спецификации языка Java.
Если не указано иное, передача null аргумента конструктору или методу в этом классе приведет к возникновению исключения NullPointerException.
Строка представляет собой строку в формате UTF-16, в котором дополнительные символы представлены парой суррогатов (см. раздел Представления символов Юникода в классе Character для получения дополнительной информации). Значения индексов относятся к блокам кода Юникода, поэтому дополнительный символ занимает две позиции в String.
Класс String предоставляет методы для работы с кодовыми точками Юникода (т.е. символами), помимо методов для работы с кодовыми единицами Юникода (т.е. значениями 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, содержащий символы из подмассива массива кодовых точек Юникода. |
String |
Инициализирует новый созданный объект String так, чтобы он представлял собой такую же последовательность символов, как и аргумент; другими словами, новая строка является копией аргумента строки. |
String |
Выделяет новую строку, содержащую последовательность символов, в данный момент содержащихся в буфере строк. |
String |
Выделяет новую строку, содержащую последовательность символов, в данный момент содержащихся в строке-строителе. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
char |
charAt |
Возвращает значение char по указанному индексу. |
IntStream |
chars() |
Возвращает поток значений int, расширяя нулями значения char из этой последовательности. |
int |
codePointAt |
Возвращает символ (кодовое значение Юникода) по указанному индексу. |
int |
codePointBefore |
Возвращает символ (кодовое значение Юникода) перед указанным индексом. |
int |
codePointCount |
Возвращает количество символов Юникода в указанном текстовом диапазоне этой 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 в последовательность байтов, используя заданный charset, сохраняя результат в новый массив байтов. |
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() |
|
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() |
Возвращает строку, значением которой является эта строка, с последовательностями экранирования переведёнными так, как если бы они были в строковой литерале. |
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
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 - индекс первого кода Unicode подмассива, а аргумент count задаёт длину подмассива. Содержимое подмассива преобразуется в char; последующие изменения массива int не влияют на созданную строку. Содержимое строки не определено, если массив кодов изменяется во время создания строки.
- Параметры:
-
codePoints- Массив, являющийся источником кодов Unicode -
offset- Начальный смещение -
count- Длина - Исключения:
-
IllegalArgumentException- Если обнаружен неверный код Unicode вcodePoints -
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
Строка
public String(byte[] bytes, int offset, int length, Charset charset)
Этот метод всегда заменяет некорректные входные данные и неотображаемые символы на строку замены по умолчанию для данной кодировки. Класс CharsetDecoder следует использовать, если требуется больший контроль над процессом декодирования.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes- Байты, которые должны быть декодированы в символы -
offset- Индекс первого байта для декодирования -
length- Количество байтов для декодирования -
charset- Кодировка, которая должна быть использована для декодированияbytes - Исключения:
-
IndexOutOfBoundsException- Еслиoffsetотрицательное,lengthотрицательное илиoffsetбольшеbytes.length - length - С:
- 1.6
Строка
public String(byte[] bytes, String charsetName) throws UnsupportedEncodingException
Поведение этого конструктора, когда заданные байты не являются допустимыми в заданной кодировке, не определено. Класс CharsetDecoder следует использовать, если требуется больший контроль над процессом декодирования.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes- Байты, которые должны быть декодированы в символы -
charsetName- Название поддерживаемой кодировки - Исключения:
-
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С:
- 1.1
Строка
public String(byte[] bytes, Charset charset)
Этот метод всегда заменяет некорректные входные данные и неотображаемые символы на строку замены по умолчанию для данной кодировки. Класс CharsetDecoder следует использовать, если требуется больший контроль над процессом декодирования.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes- Байты, которые должны быть декодированы в символы -
charset- Кодировка, которая должна быть использована для декодированияbytes - С:
- 1.6
Строка
public String(byte[] bytes, int offset, int length)
default charset. Длина новой строки зависит от кодировки и может не совпадать с длиной подмассива. Поведение этого конструктора, когда заданные байты не являются допустимыми в кодировке по умолчанию, не определено. Класс CharsetDecoder следует использовать, если требуется больший контроль над процессом декодирования.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes- Байты, которые должны быть декодированы в символы -
offset- Индекс первого байта для декодирования -
length- Количество байтов для декодирования - Исключения:
-
IndexOutOfBoundsException- Еслиoffsetотрицательное,lengthотрицательное илиoffsetбольшеbytes.length - length - С:
- 1.1
Строка
public String(byte[] bytes)
default charset. Длина новой строки зависит от кодировки и может не совпадать с длиной массива байтов. Поведение этого конструктора, когда заданные байты не являются допустимыми в кодировке по умолчанию, не определено. Класс CharsetDecoder следует использовать, если требуется больший контроль над процессом декодирования.
Содержимое строки не определено, если массив байтов изменяется во время создания строки.
- Параметры:
-
bytes- Байты, которые должны быть декодированы в символы - С:
- 1.1
Строка
public String(StringBuffer buffer)
- Параметры:
-
buffer- БуферStringBuffer
Строка
public String(StringBuilder builder)
Содержимое строки не определено, если StringBuilder изменяется во время создания строки.
Этот конструктор предназначен для облегчения миграции к
StringBuilder. Получение строки из string builder с помощью метода
toString, скорее всего, будет выполняться быстрее и обычно предпочтительнее.
- Параметры:
-
builder- БуферStringBuilder - С:
- 1.5
Подробное описание методов
length
public int length()
- Определено в:
-
lengthв интерфейсеCharSequence - Возвращает:
- длину последовательности символов, представленной этим объектом.
isEmpty
public boolean isEmpty()
- Определено в:
-
isEmptyв интерфейсеCharSequence - Возвращает:
-
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 (единицам кода Юникода) и изменяется от 0 до length() - 1. Если значение char, указанное по данному индексу, находится в диапазоне высоких суррогатов, следующий индекс меньше длины этой String, и значение char по следующему индексу находится в диапазоне низких суррогатов, то возвращается дополнительное кодовое значение, соответствующее этой паре суррогатов. В противном случае возвращается значение char по указанному индексу.
- Параметры:
-
index- индекс к значениямchar - Возвращает:
- значение кода символа по
index - Исключения:
-
IndexOutOfBoundsException- если аргументindexотрицательный или не меньше длины этой строки. - С:
- 1.5
codePointBefore
public int codePointBefore(int index)
char значениям (единицам Юникода) и изменяется в диапазоне от 1 до length. Если значение char по значению (index - 1) находится в диапазоне низких суррогатных значений, значение (index - 2) не отрицательно, а значение char по значению (index -
2) находится в диапазоне высоких суррогатных значений, то возвращается дополнительное значение кодовой точки пары суррогатов. Если значение char по значению index -
1 является неспаренным низким суррогатом или высоким суррогатом, возвращается значение суррогата.
- Параметры:
-
index- индекс, следующий за кодовой точкой, которая должна быть возвращена - Возвращает:
- значение кодовой точки Юникода перед заданным индексом.
- Выбрасывает:
-
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текстового диапазона. - Возвращает:
- количество кодовых точек Юникода в указанном текстовом диапазоне
- Выбрасывает:
-
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
- Параметры:
-
srcBegin- индекс первого символа в строке для копирования. -
srcEnd- индекс после последнего символа в строке для копирования. -
dst- целевой массив. -
dstBegin- смещение начала в целевом массиве. - Выбрасывает:
-
IndexOutOfBoundsException- Если выполняется любое из следующих условий:-
srcBeginотрицателен. -
srcBeginбольшеsrcEnd -
srcEndбольше длины этой строки -
dstBeginотрицателен -
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- Кодировка, которая используется для кодирования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.
- Parameters:
-
sb- СтрокаStringBuffer, с которой сравнивается этаString - Returns:
-
true, если этаStringпредставляет ту же последовательность символов, что и указанная строкаStringBuffer;falseв противном случае - Since:
- 1.4
contentEquals
public boolean contentEquals(CharSequence cs)
CharSequence. Результатом является true тогда и только тогда, когда эта String представляет ту же последовательность символов, что и указанная последовательность. Обратите внимание, что если CharSequence является строкой StringBuffer, то метод синхронизируется на ней. Для более точного сравнения строк, обратитесь к Collator.
- Parameters:
-
cs- Последовательность для сравнения с этойString - Returns:
-
true, если этаStringпредставляет ту же последовательность символов, что и указанная последовательность;falseв противном случае - Since:
- 1.5
equalsIgnoreCase
public boolean equalsIgnoreCase(String anotherString)
String с другой строкой String, игнорируя регистр. Две строки считаются равными, не учитывая регистр, если они имеют одинаковую длину и соответствующие Unicode-кодовые точки в двух строках равны, не учитывая регистр. Две Unicode-кодовые точки считаются одинаковыми, не учитывая регистр, если выполняется хотя бы одно из следующих условий:
- Две Unicode-кодовые точки одинаковые (сравниваются с помощью оператора
==) - Вызов
Character.toLowerCase(Character.toUpperCase(int))для каждой Unicode-кодовой точки приводит к одному и тому же результату
Обратите внимание, что этот метод не учитывает локаль и может привести к неудовлетворительным результатам для некоторых локалей. Класс Collator предоставляет сравнение, учитывающее локаль.
- Parameters:
-
anotherString- СтрокаString, с которой сравнивается этаString - Returns:
-
true, если аргумент неnullи он представляет эквивалентнуюString, не учитывая регистр;falseв противном случае - See Also:
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.
- Specified by:
-
compareToв интерфейсеComparable<String> - Parameters:
-
anotherString- сравниваемаяString. - Returns:
- значение
0, если строка-аргумент равна этой строке; значение меньше0, если эта строка лексикографически меньше строки-аргумента; и значение больше0, если эта строка лексикографически больше строки-аргумента.
compareToIgnoreCase
public int compareToIgnoreCase(String str)
compareTo с версиями строк, преобразованными в нижний регистр, где различия в регистре были устранены путём вызова Character.toLowerCase(Character.toUpperCase(int)) для каждой Unicode-кодовой точки. Обратите внимание, что этот метод не учитывает локаль и может привести к неудовлетворительному упорядочению для некоторых локалей. Класс Collator предоставляет сравнение, учитывающее локаль.
- Parameters:
-
str- сравниваемаяString. - Returns:
- отрицательное целое число, ноль или положительное целое число, в зависимости от того, больше, равно или меньше эта строка, чем указанная строка, не учитывая различия в регистре.
- Since:
- 1.2
- See Also:
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больше длины аргумента other. - Существует какое-то неотрицательное целое число k, меньшее чем
len, такое что:this.charAt(toffset +k) != other.charAt(ooffset +k)
Обратите внимание, что этот метод не учитывает локаль. Класс Collator предоставляет сравнение, учитывающее локаль.
- Parameters:
-
toffset- начальный смещение подстроки в этой строке. -
other- строка-аргумент. -
ooffset- начальный смещение подстроки в строке-аргументе. -
len- количество символов для сравнения. - Returns:
-
true, если указанная подстрока этой строки точно совпадает с указанной подстрокой строки-аргумента;falseв противном случае.
regionMatches
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
Подстрока этого String объекта сравнивается с подстрокой аргумента other. Результат равен true, если эти подстроки представляют последовательности кодовых точек Юникода, которые одинаковы, игнорируя регистр, если и только если 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, все пары соответствующих кодовых точек Юникода имеют равные целочисленные значения; или еслиignoreCaseравноtrue,Character.toLowerCase(Character.toUpperCase(int))по всем парам кодовых точек Юникода приводит к равным целочисленным значениям.
Обратите внимание, что этот метод не учитывает локаль и приведет к неудовлетворительным результатам для определенных локалей, когда ignoreCase равно true. Класс Collator обеспечивает сравнение, учитывающее локаль.
- Параметры:
-
ignoreCase- еслиtrue, игнорировать регистр при сравнении символов. -
toffset- начальный смещение подрегиона в этой строке. -
other- строковый аргумент. -
ooffset- начальный смещение подрегиона в строковом аргументе. -
char- количество символов (единиц Юникода - 16-битное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)
ch встречается в последовательности символов, представленной этим объектом String, возвращается индекс (в единицах Юникода) первого такого вхождения. Для значений ch в диапазоне от 0 до 0xFFFF (включительно) это наименьшее значение k, для которого: верно. Для других значенийthis.charAt(k) == ch
ch это наименьшее значение k, для которого: верно. В любом случае, если такой символ не встречается в этой строке, возвращаетсяthis.codePointAt(k) == ch
-1.- Параметры:
-
ch- символ (кодовая точка Юникода). - Возвращает:
- индекс первого вхождения символа в последовательность символов, представленную этим объектом, или
-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 (единицы Юникода).
- Примечание API:
- В отличие от
substring(int), например, этот метод не выбрасывает исключение, когдаfromIndexнаходится вне допустимого диапазона. Вместо этого он возвращает -1, когдаfromIndexбольше длины строки. Этот результат сам по себе неотличим от отсутствияchв строке. Если требуется более строгое поведение, следует рассмотреть использованиеindexOf(int, int, int). Например, на строкеStrings,s.indexOf(ch, fromIndex, s.length())было бы выброшено, если быfromIndexбыло больше длины строки или было отрицательным. - Параметры:
-
ch- символ (кодовая точка Юникода). -
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 (единицы кода Юникода).
- Параметры:
-
ch- символ (код Юникода). -
beginIndex- индекс, с которого начать поиск (включительно). -
endIndex- индекс, до которого остановить поиск (исключительно). - Возвращает:
- индекс первого вхождения символа в последовательность символов, представленную этим объектом, которая больше или равна
beginIndexи меньшеendIndex, или-1, если символ не встречается. - Исключение:
-
StringIndexOutOfBoundsException- еслиbeginIndexотрицательно, илиendIndexбольше длины этого объектаString, илиbeginIndexбольшеendIndex. - С:
- 21
lastIndexOf
public int lastIndexOf(int ch)
ch в диапазоне от 0 до 0xFFFF (включительно), возвращаемый индекс (в единицах кода Юникода) — это наибольшее значение k такое, что: верно. Для других значенийthis.charAt(k) == ch
ch, это наибольшее значение k такое, что: верно. В любом случае, если такой символ не встречается в этой строке, то возвращаетсяthis.codePointAt(k) == ch
-1. Строка просматривается в обратном порядке, начиная с последнего символа.- Параметры:
-
ch- символ (код Юникода). - Возвращает:
- индекс последнего вхождения символа в последовательность символов, представленную этим объектом, или
-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 (единицах кода Юникода).
- Параметры:
-
ch- символ (код Юникода). -
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). ВStringsи непустой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- строка, которая добавляется в конец этой строки. - Возвращает:
- строка, представляющая собой конкатенацию символов этого объекта и символов аргументной строки.
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(java.lang.String). Используйте Matcher.quoteReplacement(java.lang.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(java.lang.String), чтобы подавить специальное значение этих символов, если это необходимо.
- Параметры:
-
regex- регулярное выражение, которому должна соответствовать эта строка -
replacement- строка, которая должна быть заменена на каждое совпадение - Возвращает:
- результирующая
String - Исключение:
-
PatternSyntaxException- если синтаксис регулярного выражения некорректен - С:
- 1.4
- См. также:
replace
public String replace(CharSequence target, CharSequence replacement)
- Параметры:
-
target- последовательность значений char, которые должны быть заменены -
replacement- последовательность значений char для замены - Возвращает:
- результирующая строка
- С:
- 1.5
разделение
public String[] split(String regex, int limit)
Массив, возвращаемый этим методом, содержит каждый подстроку этой строки, которая завершается другой подстрокой, соответствующей заданному выражению, или завершается концом строки. Подстроки в массиве упорядочены так же, как и в этой строке. Если выражение не соответствует никакой части входных данных, то возвращаемый массив содержит только одну строку — эту строку.
При наличии совпадения положительной ширины в начале этой строки, в начале возвращаемого массива включается пустая ведущая подстрока. Однако совпадение нулевой ширины в начале никогда не порождает такую пустую ведущую подстроку.
Параметр limit управляет числом применений шаблона и, следовательно, влияет на длину возвращаемого массива.
Если предел положителен, то шаблон будет применяться не более предел - 1 раз, длина массива будет не больше предел, и последняя запись массива будет содержать все входные данные за последним совпавшим разделителем.
Если предел равен нулю, то шаблон будет применяться как можно больше раз, массив может иметь любую длину, и конечные пустые строки будут отброшены.
Если предел отрицателен, то шаблон будет применяться как можно больше раз, и массив может иметь любую длину.
Строка "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 управляет числом применений шаблона и, следовательно, влияет на длину возвращаемого массива.
- Если предел положителен, то шаблон будет применяться не более предел - 1 раз, длина массива будет не больше 2 × предел - 1, и последняя запись массива будет содержать все входные данные за последним совпавшим разделителем.
- Если предел равен нулю, то шаблон будет применяться как можно больше раз, массив может иметь любую длину, и конечные пустые строки будут отброшены.
- Если предел отрицателен, то шаблон будет применяться как можно больше раз, и массив может иметь любую длину.
Входные данные "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
разделение
public String[] split(String regex)
Этот метод работает так, как если бы он вызывал двухаргументный метод split с заданным выражением и аргументом предела, равным нулю. Следовательно, конечные пустые строки не включаются в возвращаемый массив.
Строка "boo:and:foo", например, дает следующие результаты с этими выражениями:
Регулярное выражение Результат : { "boo", "and", "foo" }o { "b", "", ":and:f" }
- Параметры:
-
regex- разделяющее регулярное выражение - Возвращает:
- массив строк, вычисленный путём разделения этой строки вокруг совпадений с заданным регулярным выражением
- Бросает:
-
PatternSyntaxException- если синтаксис регулярного выражения некорректен - С:
- 1.4
- См. также:
соединение
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" добавляется.- Parameters:
-
delimiter- последовательность символов, используемая для разделения каждого изelementsв результирующейString -
elements-Iterable, элементы которого будут объединены. - Returns:
- новая
String, составленная из элементов аргументаelements - Throws:
-
NullPointerException- Еслиdelimiterилиelementsявляютсяnull - Since:
- 1.8
- See Also:
toLowerCase
public String toLowerCase(Locale locale)
String в нижний регистр в соответствии с правилами данного Locale. Преобразование регистра основано на версии стандарта Unicode, указанной классом Character. Поскольку преобразования регистра не всегда являются взаимно однозначными отображениями символов, результирующая String и эта String могут отличаться по длине.
Примеры преобразования в нижний регистр приведены в следующей таблице:
| Код языка локали | Верхний регистр | Нижний регистр | Описание |
|---|---|---|---|
| tr (турецкий) | \u0130 | \u0069 | заглавная буква I с точкой сверху -> строчная буква i |
| tr (турецкий) | \u0049 | \u0131 | заглавная буква I -> строчная буква без точки i |
| (все) | French Fries | french fries | приведение всех символов строки к нижнему регистру |
| (все) | ΙΧΘΥΣ | ιχθυσ | приведение всех символов строки к нижнему регистру |
- Parameters:
-
locale- использовать правила преобразования регистра для этой локали - Returns:
String, преобразованная в нижний регистр.- Since:
- 1.1
- See Also:
toLowerCase
public String toLowerCase()
String в нижний регистр по правилам локаль по умолчанию. Этот метод эквивалентен toLowerCase(Locale.getDefault()).- API Note:
- Этот метод чувствителен к локали и может давать неожиданные результаты, если используется для строк, которые предполагается интерпретировать независимо от локали. Примерами являются идентификаторы языков программирования, ключи протоколов и теги HTML. Например,
"TITLE".toLowerCase()в турецкой локали возвращает"t\u0131tle", где '\u0131' — это символ LATIN SMALL LETTER DOTLESS I. Для получения корректных результатов для строк, нечувствительных к локали, используйтеtoLowerCase(Locale.ROOT). - Returns:
String, преобразованная в нижний регистр.- See Also:
toUpperCase
public String toUpperCase(Locale locale)
String в верхний регистр по правилам данной Locale. Преобразование регистра основано на версии стандарта Unicode, указанной классом Character. Поскольку преобразования регистра не всегда являются взаимно однозначными отображениями символов, результирующая String и эта String могут отличаться по длине.
Примеры локали-зависимых и 1:N преобразований регистра приведены в следующей таблице:
| Код языка локали | Строчные буквы | Заглавные буквы | Описание |
|---|---|---|---|
| tr (турецкий) | \u0069 | \u0130 | строчная буква i -> заглавная буква I с точкой сверху |
| tr (турецкий) | \u0131 | \u0049 | строчная буква без точки i -> заглавная буква I |
| (все) | \u00df | \u0053 \u0053 | строчная буква sharp s -> две буквы: SS |
| (все) | Fahrvergnügen | FAHRVERGNÜGEN |
- Parameters:
-
locale- использовать правила преобразования регистра для этой локали - Returns:
String, преобразованная в верхний регистр.- Since:
- 1.1
- See Also:
toUpperCase
public String toUpperCase()
String в верхний регистр по правилам локали по умолчанию. Этот метод эквивалентен toUpperCase(Locale.getDefault()).- API Note:
- Этот метод чувствителен к локали и может давать неожиданные результаты, если используется для строк, которые предполагается интерпретировать независимо от локали. Примерами являются идентификаторы языков программирования, ключи протоколов и теги HTML. Например,
"title".toUpperCase()в турецкой локали возвращает"T\u0130TLE", где '\u0130' — это символ LATIN CAPITAL LETTER I WITH DOT ABOVE. Для получения корректных результатов для строк, нечувствительных к локали, используйтеtoUpperCase(Locale.ROOT). - Returns:
String, преобразованная в верхний регистр.- See Also:
trim
public String trim()
'U+0020' (пробел).
Если этот объект String представляет пустую последовательность символов, или первый и последний символы последовательности символов, представленной этим объектом String, оба имеют коды, не являющиеся пробелами (как определено выше), то возвращается ссылка на этот объект String.
В противном случае, если все символы в этой строке являются пробелами (как определено выше), возвращается объект String, представляющий пустую строку.
В противном случае, пусть k — индекс первого символа в строке, код которого не является пробелом (как определено выше), а m — индекс последнего символа в строке, код которого не является пробелом (как определено выше). Возвращается объект String, представляющий подстроку этой строки, начинающуюся с символа с индексом k и заканчивающуюся символом с индексом m — то есть результат this.substring(k, m + 1).
Этот метод может использоваться для удаления пробелов (как определено выше) с начала и конца строки.
- Returns:
- строка, значением которой является эта строка, со всеми начальными и конечными пробелами удалены, или эта строка, если она не имеет начальных или конечных пробелов.
strip
public String strip()
Если этот объект String представляет пустую строку или если все коды символов в этой строке являются пробелами, возвращается пустая строка.
В противном случае возвращается подстрока этой строки, начинающаяся с первого кода символа, который не является пробелом и заканчивающаяся последним кодом символа, который не является пробелом.
Этот метод может использоваться для удаления пробелов с начала и конца строки.
- Returns:
- строка, значением которой является эта строка, со всеми начальными и конечными пробелами удалены
- Since:
- 11
- See Also:
stripLeading
public String stripLeading()
Если этот String объект представляет пустую строку или если все коды символов в этой строке являются пробелами, то возвращается пустая строка.
В противном случае возвращается подстрока этой строки, начинающаяся с первого кода символа, который не является пробелом, до и включая последний код символа этой строки.
Этот метод может быть использован для удаления пробелов с начала строки.
- Возвращает:
- строка, значение которой равно этой строке, со всеми начальными пробелами удалены
- С:
- 11
- См. также:
stripTrailing
public String stripTrailing()
Если этот String объект представляет пустую строку или если все символы в этой строке являются пробелами, то возвращается пустая строка.
В противном случае возвращается подстрока этой строки, начинающаяся с первого символа этой строки и заканчивающаяся последним символом, который не является пробелом.
Этот метод может быть использован для удаления пробелов с конца строки.
- Возвращает:
- строка, значение которой равно этой строке, со всеми заключительными пробелами удалены
- С:
- 11
- См. также:
isBlank
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 Sequences
- С:
- 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 значения из этой последовательности. Любой символ, который отображается в суррогатном коде символа, передаётся без интерпретации.- Определено в:
-
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- A строка формата -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размерностью массива Java, как определено в Спецификации виртуальной машины Java. Поведение наnullаргумент зависит от преобразования. - Возвращает:
- Отформатированная строка
- Выбрасывает:
-
IllegalFormatException- Если строка формата содержит неправильный синтаксис, спецификатор формата, несовместимый с заданными аргументами, недостаточно аргументов для заданной строки формата или другие некорректные условия. Для описания всех возможных ошибок форматирования см. раздел Подробности спецификации класса formatter. - С:
- 1.5
- См. также:
format
public static String format(Locale l, String format, Object... args)
- Параметры:
-
l- Локаль, применяемая во время форматирования. Еслиlравнаnull, то локализация не применяется. -
format- A строка формата -
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 задаёт длину подмассива. Содержимое подмассива копируется; последующие изменения массива символов не влияют на возвращаемую строку.
Содержимое строки не определено, если массив символов изменяется во время построения строки.
- Parameters:
-
data- массив символов. -
offset- начальный смещение подмассива. -
count- длина подмассива. - Returns:
- строка, содержащая символы указанного подмассива массива символов.
- Throws:
-
IndexOutOfBoundsException- еслиoffsetотрицательно, илиcountотрицательно, илиoffset+countбольше, чемdata.length.
copyValueOf
public static String copyValueOf(char[] data, int offset, int count)
valueOf(char[], int, int).- Parameters:
-
data- массив символов. -
offset- начальный смещение подмассива. -
count- длина подмассива. - Returns:
- строка, содержащая символы указанного подмассива массива символов.
- Throws:
-
IndexOutOfBoundsException- еслиoffsetотрицательно, илиcountотрицательно, илиoffset+countбольше, чемdata.length.
copyValueOf
public static String copyValueOf(char[] data)
valueOf(char[]).- Parameters:
-
data- массив символов. - Returns:
- строка, содержащая символы массива символов.
valueOf
public static String valueOf(boolean b)
boolean.- Parameters:
-
b- значение типаboolean. - Returns:
- если аргумент равен
true, возвращается строка, равная"true"; в противном случае возвращается строка, равная"false".
valueOf
public static String valueOf(char c)
char.- Parameters:
-
c- значение типаchar. - Returns:
- строка длиной
1, содержащая в качестве единственного символа аргументc.
valueOf
public static String valueOf(int i)
int. Представление точно такое же, как возвращаемое методом Integer.toString с одним аргументом.
- Parameters:
-
i- целое число. - Returns:
- строковое представление аргумента типа
int. - See Also:
valueOf
public static String valueOf(long l)
long. Представление точно такое же, как возвращаемое методом Long.toString с одним аргументом.
- Parameters:
-
l- целое число типаlong. - Returns:
- строковое представление аргумента типа
long. - See Also:
valueOf
public static String valueOf(float f)
float. Представление точно такое же, как возвращаемое методом Float.toString с одним аргументом.
- Parameters:
-
f- число с плавающей точкой. - Returns:
- строковое представление аргумента типа
float. - See Also:
valueOf
public static String valueOf(double d)
double. Представление точно такое же, как возвращаемое методом Double.toString с одним аргументом.
- Parameters:
-
d- число с плавающей точкой двойной точности. - Returns:
- строковое представление аргумента типа
double. - See Also:
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.
- Returns:
- строка, имеющая то же содержимое, что и эта строка, но гарантированно из пула уникальных строк.
repeat
public String repeat(int count)
count раз. Если эта строка пустая или счётчик равен нулю, то возвращается пустая строка.
- Parameters:
-
count- количество повторений - Returns:
- строка, составленная из этой строки, повторяемой
countраз, или пустая строка, если эта строка пустая или счётчик равен нулю - Throws:
-
IllegalArgumentException- еслиcountотрицательно. - Since:
- 11
describeConstable
public Optional<String> describeConstable()
Optional, содержащий номинальный дескриптор для этого экземпляра, который является самим экземпляром.- Specified by:
-
describeConstableв интерфейсеConstable - Returns:
Optional, описывающий экземпляр String- Since:
- 12
resolveConstantDesc
public String resolveConstantDesc(MethodHandles.Lookup lookup)
ConstantDesc, результатом чего является сам экземпляр.- Specified by:
-
resolveConstantDescв интерфейсеConstantDesc - Parameters:
-
lookup- игнорируется - Returns:
- экземпляр String
- Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/String.html