Spec-Zone.ru › OpenJDK 17

Класс String

java.lang.Object
java.lang.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 для получения дополнительной информации). Значения индексов относятся к блокам кода, поэтому дополнительный символ занимает две позиции в 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
См. также:
  • Object.toString()
  • StringBuffer
  • StringBuilder
  • Charset
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final Comparator<String> CASE_INSENSITIVE_ORDER
Компаратор, который упорядочивает объекты String как по compareToIgnoreCase.

Краткое описание конструкторов

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

Краткое описание методов

Modifier and Type Method Description
char charAt(int index)
Возвращает значение char по указанному индексу.
IntStream chars()
Возвращает поток int, расширяя значения char из этой последовательности нулями.
int codePointAt(int index)
Возвращает символ (код Юникода) по указанному индексу.
int codePointBefore(int index)
Возвращает символ (код Юникода) перед указанным индексом.
int codePointCount(int beginIndex, int endIndex)
Возвращает количество символов Юникода в указанном текстовом диапазоне этой String.
IntStream codePoints()
Возвращает поток значений кодов символов из этой последовательности.
int compareTo(String anotherString)
Сравнивает две строки лексикографически.
int compareToIgnoreCase(String str)
Сравнивает две строки лексикографически, игнорируя различия в регистре.
String concat(String str)
Добавляет указанную строку в конец этой строки.
boolean contains(CharSequence s)
Возвращает true тогда и только тогда, когда эта строка содержит указанную последовательность значений char.
boolean contentEquals(CharSequence cs)
Сравнивает эту строку с указанным CharSequence.
boolean contentEquals(StringBuffer sb)
Сравнивает эту строку с указанным StringBuffer.
static String copyValueOf(char[] data)
Эквивалентно valueOf(char[]).
static String copyValueOf(char[] data, int offset, int count)
Эквивалентно valueOf(char[], int, int).
Optional<String> describeConstable()
Возвращает Optional, содержащий номинальный дескриптор для этого экземпляра, который является самим экземпляром.
boolean endsWith(String suffix)
Проверяет, заканчивается ли эта строка указанным суффиксом.
boolean equals(Object anObject)
Сравнивает эту строку с указанным объектом.
boolean equalsIgnoreCase(String anotherString)
Сравнивает эту String с другой String, игнорируя различия в регистре.
static String format(String format, Object... args)
Возвращает отформатированную строку, используя указанную строку формата и аргументы.
static String format(Locale l, String format, Object... args)
Возвращает отформатированную строку, используя указанный локаль, строку формата и аргументы.
String formatted(Object... args)
Форматирует, используя эту строку в качестве строки формата и предоставленные аргументы.
byte[] getBytes()
Кодирует эту String в последовательность байтов, используя кодировку по умолчанию платформы, сохраняя результат в новый массив байтов.
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
Устарело.
Этот метод некорректно преобразует символы в байты.
byte[] getBytes(String charsetName)
Кодирует эту String в последовательность байтов, используя указанную кодировку, сохраняя результат в новый массив байтов.
byte[] getBytes(Charset charset)
Кодирует эту String в последовательность байтов, используя заданную кодировку, сохраняя результат в новый массив байтов.
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Копирует символы из этой строки в целевой массив символов.
int hashCode()
Возвращает код хэша для этой строки.
String indent(int n)
Настраивает отступы каждой строки этой строки на основе значения n, и нормализует символы завершения строки.
int indexOf(int ch)
Возвращает индекс в этой строке первого вхождения указанного символа.
int indexOf(int ch, int fromIndex)
Возвращает индекс в этой строке первого вхождения указанного символа, начиная поиск с указанного индекса.
int indexOf(String str)
Возвращает индекс в этой строке первого вхождения указанной подстроки.
int indexOf(String str, int fromIndex)
Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса.
String intern()
Возвращает каноническое представление объекта строки.
boolean isBlank()
Возвращает true если строка пустая или содержит только пробельные коды символов, иначе false.
boolean isEmpty()
Возвращает true если, и только если, length() равно 0.
static String join(CharSequence delimiter, CharSequence... elements)
Возвращает новую строку, составленную из копий CharSequence elements, соединенных копией указанного delimiter.
static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
Возвращает новую String, составленную из копий CharSequence elements, соединенных копией указанного delimiter.
int lastIndexOf(int ch)
Возвращает индекс в этой строке последнего вхождения указанного символа.
int lastIndexOf(int ch, int fromIndex)
Возвращает индекс в этой строке последнего вхождения указанного символа, выполняя поиск назад, начиная с указанного индекса.
int lastIndexOf(String str)
Возвращает индекс в этой строке последнего вхождения указанной подстроки.
int lastIndexOf(String str, int fromIndex)
Возвращает индекс в этой строке последнего вхождения указанной подстроки, выполняя поиск назад, начиная с указанного индекса.
int length()
Возвращает длину этой строки.
Stream<String> lines()
Возвращает поток строк, извлеченных из этой строки, разделенных разделителями строк.
boolean matches(String regex)
Определяет, соответствует ли эта строка заданному регулярному выражению.
int offsetByCodePoints(int index, int codePointOffset)
Возвращает индекс в этой String который смещен от данного index на codePointOffset символов Юникода.
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
Проверяет, равны ли две области строк.
boolean regionMatches(int toffset, String other, int ooffset, int len)
Проверяет, равны ли две области строк.
String repeat(int count)
Возвращает строку, значением которой является конкатенация этой строки, повторяемой count раз.
String replace(char oldChar, char newChar)
Возвращает строку, полученную из замены всех вхождений oldChar в этой строке на newChar.
String replace(CharSequence target, CharSequence replacement)
Заменяет каждую подстроку этой строки, которая соответствует литеральной целевой последовательности, на указанную литеральную последовательность замены.
String replaceAll(String regex, String replacement)
Заменяет каждую подстроку этой строки, которая соответствует заданному регулярному выражению, на заданную замену.
String replaceFirst(String regex, String replacement)
Заменяет первую подстроку этой строки, которая соответствует заданному регулярному выражению, на заданную замену.
String resolveConstantDesc(MethodHandles.Lookup lookup)
Преобразует этот экземпляр в ConstantDesc, результатом чего является сам экземпляр.
String[] split(String regex)
Разделяет эту строку по совпадениям с заданным регулярным выражением.
String[] split(String regex, int limit)
Разделяет эту строку по совпадениям с заданным регулярным выражением.
boolean startsWith(String prefix)
Проверяет, начинается ли эта строка с указанного префикса.
boolean startsWith(String prefix, int toffset)
Проверяет, начинается ли подстрока этой строки, начиная с указанного индекса, с указанного префикса.
String strip()
Возвращает строку, значением которой является эта строка, с удалёнными начальными и конечными пробелами.
String stripIndent()
Возвращает строку, значением которой является эта строка, с удалёнными случайными пробелами в начале и конце каждой строки.
String stripLeading()
Возвращает строку, значением которой является эта строка, с удалёнными начальными пробелами.
String stripTrailing()
Возвращает строку, значением которой является эта строка, с удалёнными конечными пробелами.
CharSequence subSequence(int beginIndex, int endIndex)
Возвращает последовательность символов, являющуюся подпоследовательностью этой последовательности.
String substring(int beginIndex)
Возвращает строку, являющуюся подстрокой этой строки.
String substring(int beginIndex, int endIndex)
Возвращает строку, являющуюся подстрокой этой строки.
char[] toCharArray()
Преобразует эту строку в новый массив символов.
String toLowerCase()
Преобразует все символы в этом String в нижний регистр по правилам локальной настройки по умолчанию.
String toLowerCase(Locale locale)
Преобразует все символы в этом String в нижний регистр по правилам заданной Locale.
String toString()
Этот объект (который уже является строкой!)
String toUpperCase()
Преобразует все символы в этом String в верхний регистр по правилам локальной настройки по умолчанию.
String toUpperCase(Locale locale)
Преобразует все символы в этом String в верхний регистр по правилам заданной Locale.
<R> R transform(Function<? super String,? extends R> f)
Этот метод позволяет применить функцию к this строке.
String translateEscapes()
Возвращает строку, значением которой является эта строка, с экранированными последовательностями, преобразованными как в строковой литерале.
String trim()
Возвращает строку, значением которой является эта строка, с удалёнными начальными и конечными пробелами, где пробел определяется как любой символ, код которого меньше или равен 'U+0020' (символ пробела).
static String valueOf(boolean b)
Возвращает строковое представление аргумента boolean.
static String valueOf(char c)
Возвращает строковое представление аргумента char.
static String valueOf(char[] data)
Возвращает строковое представление аргумента массива char.
static String valueOf(char[] data, int offset, int count)
Возвращает строковое представление определенного подмассива аргумента массива char.
static String valueOf(double d)
Возвращает строковое представление аргумента double.
static String valueOf(float f)
Возвращает строковое представление аргумента float.
static String valueOf(int i)
Возвращает строковое представление аргумента int.
static String valueOf(long l)
Возвращает строковое представление аргумента long.
static String valueOf(Object obj)
Возвращает строковое представление аргумента Object.

Методы, объявленные в классе java.lang.Object

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

Подробное описание полей

CASE_INSENSITIVE_ORDER

public static final Comparator<String> CASE_INSENSITIVE_ORDER
Компаратор, упорядочивающий объекты String по принципу compareToIgnoreCase. Этот компаратор сериализуем.

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

С момента:
1.2
См. также:
  • Collator

Подробное описание конструкторов

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, содержащую символы из подмассива аргумента массива кодовых точек Юникода. Аргумент offset — индекс первой кодовой точки подмассива, а аргумент count указывает длину подмассива. Содержимое подмассива преобразуется в char; последующее изменение массива int не влияет на только что созданную строку.
Параметры:
codePoints - Массив, являющийся источником кодовых точек Юникода
offset - Начальное смещение
count - Длина
Исключения:
IllegalArgumentException - Если обнаружена какая-либо недопустимая кодовая точка Юникода в 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)
Устарело.
Этот метод не корректно преобразует байты в символы. Начиная с JDK 1.1, предпочтительный способ сделать это — использовать конструкторы String, принимающие Charset, имя набора символов или использующие системный набор символов по умолчанию.
Выделяет новую String, построенную из подмассива массива значений целых 8-битных чисел.

Аргумент offset — индекс первого байта подмассива, а аргумент count указывает длину подмассива.

Каждый byte в подмассиве преобразуется в char в соответствии со спецификацией конструктора String(byte[],int).

Параметры:
ascii - Байты, которые должны быть преобразованы в символы
hibyte - Верхние 8 бит каждого 16-битного Юникода
offset - Начальное смещение
count - Длина
Исключения:
IndexOutOfBoundsException - Если offset отрицательно, count отрицательно или offset больше ascii.length - count
См. также:
  • String(byte[], int)
  • String(byte[], int, int, java.lang.String)
  • String(byte[], int, int, java.nio.charset.Charset)
  • String(byte[], int, int)
  • String(byte[], java.lang.String)
  • String(byte[], java.nio.charset.Charset)
  • String(byte[])

String

@Deprecated(since="1.1") public String(byte[] ascii, int hibyte)
Устарело.
Этот метод не корректно преобразует байты в символы. Начиная с JDK 1.1, предпочтительный способ сделать это — использовать конструкторы String, принимающие Charset, имя набора символов или использующие системный набор символов по умолчанию.
Выделяет новую String, содержащую символы, построенные из массива целых значений 8-битного типа. Каждый символ c в результирующей строке строится из соответствующего компонента b в массиве байтов следующим образом:
     c == (char)(((hibyte & 0xff) << 8)
                         | (b & 0xff))
 
Параметры:
ascii - Байты, которые должны быть преобразованы в символы
hibyte - Верхние 8 бит каждого 16-битного Юникода
См. также:
  • String(byte[], int, int, java.lang.String)
  • String(byte[], int, int, java.nio.charset.Charset)
  • String(byte[], int, int)
  • String(byte[], java.lang.String)
  • String(byte[], java.nio.charset.Charset)
  • String(byte[])

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 следует использовать, когда требуется больше контроля над процессом декодирования.

Parameters:
bytes - Байты, которые нужно декодировать в символы
charsetName - Имя поддерживаемого кодирования
Throws:
UnsupportedEncodingException - Если указанное кодирование не поддерживается
Since:
1.1

String

public String(byte[] bytes, Charset charset)
Создаёт новый объект String, декодируя указанный массив байтов с помощью указанного кодирования. Длина нового объекта String зависит от кодирования и, следовательно, может не совпадать с длиной массива байтов.

Этот метод всегда заменяет некорректные входные данные и неотображаемые символы на строку замены по умолчанию этого кодирования. Класс CharsetDecoder следует использовать, когда требуется больше контроля над процессом декодирования.

Parameters:
bytes - Байты, которые нужно декодировать в символы
charset - Кодирование, используемое для декодирования bytes
Since:
1.6

String

public String(byte[] bytes, int offset, int length)
Создаёт новый объект String, декодируя указанный подмассив байтов с использованием кодирования по умолчанию платформы. Длина нового объекта String зависит от кодирования и, следовательно, может не совпадать с длиной подмассива.

Поведение данного конструктора в случае, когда заданные байты некорректны для кодирования по умолчанию, не определено. Класс CharsetDecoder следует использовать, когда требуется больше контроля над процессом декодирования.

Parameters:
bytes - Байты, которые нужно декодировать в символы
offset - Индекс первого байта для декодирования
length - Количество байтов для декодирования
Throws:
IndexOutOfBoundsException - Если offset отрицательно, length отрицательно или offset больше, чем bytes.length - length
Since:
1.1

String

public String(byte[] bytes)
Создаёт новый объект String, декодируя указанный массив байтов с использованием кодирования по умолчанию платформы. Длина нового объекта String зависит от кодирования и, следовательно, может не совпадать с длиной массива байтов.

Поведение данного конструктора в случае, когда заданные байты некорректны для кодирования по умолчанию, не определено. Класс CharsetDecoder следует использовать, когда требуется больше контроля над процессом декодирования.

Parameters:
bytes - Байты, которые нужно декодировать в символы
Since:
1.1

String

public String(StringBuffer buffer)
Выделяет новую строку, содержащую последовательность символов, которые в настоящее время содержатся в переданном буфере строк. Содержимое буфера строк копируется; последующее изменение буфера строк не влияет на вновь созданную строку.
Parameters:
buffer - Буфер строк

String

public String(StringBuilder builder)
Выделяет новую строку, содержащую последовательность символов, которые в настоящее время содержатся в переданном билдере строк. Содержимое билдера строк копируется; последующее изменение билдера строк не влияет на вновь созданную строку.

Этот конструктор предоставлен для облегчения миграции к StringBuilder. Получение строки из билдера строк с помощью метода toString скорее всего, будет выполняться быстрее и обычно предпочтительнее.

Parameters:
builder - Билдер строк
Since:
1.5

Методы

length

public int length()
Возвращает длину этой строки. Длина равна количеству единиц Юникода в строке.
Specified by:
length в интерфейсе CharSequence
Returns:
длина последовательности символов, представленной этим объектом.

isEmpty

public boolean isEmpty()
Возвращает true тогда и только тогда, когда length() равно 0.
Specified by:
isEmpty в интерфейсе CharSequence
Returns:
true если length() равно 0, в противном случае false
Since:
1.6

charAt

public char charAt(int index)
Возвращает значение char по указанному индексу. Индекс изменяется от 0 до length() - 1. Первое значение char последовательности находится по индексу 0, следующее по индексу 1, и так далее, как и для индексов массивов.

Если значение char , указанное индексом, является замещающим, возвращается значение суррогата.

Specified by:
charAt в интерфейсе CharSequence
Parameters:
index - индекс значения char.
Returns:
значение char по указанному индексу этой строки. Первое значение char находится по индексу 0.
Throws:
IndexOutOfBoundsException - если аргумент index отрицательный или не меньше длины этой строки.

codePointAt

public int codePointAt(int index)
Возвращает символ (кодовый пункт Юникода) по указанному индексу. Индекс относится к значениям char (единицам Юникода) и изменяется от 0 до length() - 1.

Если значение char по указанному индексу находится в диапазоне высоких суррогатов, следующий индекс меньше длины этой строки String, и значение char по следующему индексу находится в диапазоне низких суррогатов, то возвращается дополнительный кодовый пункт, соответствующий этой паре суррогатов. В противном случае возвращается значение char по указанному индексу.

Parameters:
index - индекс к значениям char
Returns:
значение кодового пункта символа по указанному index
Throws:
IndexOutOfBoundsException - если аргумент index отрицательный или не меньше длины этой строки.
Since:
1.5

codePointBefore

public int codePointBefore(int index)
Возвращает символ (кодовый пункт Юникода) перед указанным индексом. Индекс относится к значениям char (единицам Юникода) и изменяется от 1 до length.

Если значение char по (index - 1) находится в диапазоне низких суррогатов, (index - 2) не отрицательно, и значение char по (index - 2) находится в диапазоне высоких суррогатов, то возвращается дополнительное значение кодового пункта пары суррогатов. Если значение char по index - 1 является неспаренным низким суррогатом или высоким суррогатом, возвращается значение суррогата.

Parameters:
index - индекс, следующий за кодовым пунктом, который должен быть возвращён
Returns:
значение кодового пункта Юникода перед заданным индексом.
Throws:
IndexOutOfBoundsException - если аргумент index меньше 1 или больше длины этой строки.
Since:
1.5

codePointCount

public int codePointCount(int beginIndex, int endIndex)
Возвращает количество кодовых пунктов Юникода в заданном текстовом диапазоне этой String. Диапазон текста начинается по указанному beginIndex и заканчивается по char по индексу endIndex - 1. Таким образом, длина (в chars) диапазона текста составляет endIndex-beginIndex. Неспаренные суррогаты в текстовом диапазоне учитываются как по одному кодовому пункту каждый.
Parameters:
beginIndex - индекс к первому char диапазона текста.
endIndex - индекс после последнего char диапазона текста.
Returns:
количество кодовых пунктов Юникода в указанном текстовом диапазоне
Throws:
IndexOutOfBoundsException - если beginIndex отрицательно, или endIndex больше длины этой String, или beginIndex больше, чем endIndex.
Since:
1.5

offsetByCodePoints

public int offsetByCodePoints(int index, int codePointOffset)
Возвращает индекс в этой String , смещённый от данного index на codePointOffset код-точек. Неспаренные суррогаты в текстовом диапазоне, заданном index и codePointOffset, считаются по одной код-точке.
Parameters:
index - индекс, который нужно сместить
codePointOffset - смещение в код-точках
Returns:
индекс в этой String
Throws:
IndexOutOfBoundsException - если index отрицательный или больше длины этой String, или если codePointOffset положительный и подстрока, начинающаяся с index, содержит меньше codePointOffset код-точек, или если codePointOffset отрицательный и подстрока перед index содержит меньше модуля codePointOffset код-точек.
Since:
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
 
Parameters:
srcBegin - индекс первого символа в строке для копирования.
srcEnd - индекс после последнего символа в строке для копирования.
dst - целевой массив.
dstBegin - смещение начала в целевом массиве.
Throws:
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)
Устаревший.
Этот метод не корректно преобразует символы в байты. Начиная с JDK 1.1, предпочтительным способом является метод getBytes(), который использует системную кодировку по умолчанию.
Копирует символы из этой строки в целевой массив байтов. Каждый байт получает 8 младших битов соответствующего символа. Восемь старших битов каждого символа не копируются и никак не участвуют в передаче.

Первый копируемый символ находится по индексу srcBegin; последний копируемый символ находится по индексу srcEnd-1. Общее количество копируемых символов равно srcEnd-srcBegin. Символы, преобразованные в байты, копируются в подмассив dst , начиная с индекса dstBegin и заканчивая индексом:

     dstBegin + (srcEnd-srcBegin) - 1
 
Parameters:
srcBegin - Индекс первого символа в строке для копирования
srcEnd - Индекс после последнего символа в строке для копирования
dst - Целевой массив
dstBegin - Смещение начала в целевом массиве
Throws:
IndexOutOfBoundsException - Если выполняется хотя бы одно из следующих условий:
  • srcBegin отрицательный
  • srcBegin больше srcEnd
  • srcEnd больше длины этой строки
  • dstBegin отрицательный
  • dstBegin+(srcEnd-srcBegin) больше dst.length

getBytes

public byte[] getBytes(String charsetName) throws UnsupportedEncodingException
Кодирует эту String в последовательность байтов, используя указанную кодировку, сохраняя результат в новый массив байтов.

Поведение этого метода, когда эта строка не может быть закодирована в заданной кодировке, не определено. Для более тонкого управления процессом кодирования следует использовать класс CharsetEncoder.

Parameters:
charsetName - Название поддерживаемой кодировки
Returns:
Результирующий массив байтов
Throws:
UnsupportedEncodingException - Если указанная кодировка не поддерживается
Since:
1.1

getBytes

public byte[] getBytes(Charset charset)
Кодирует эту String в последовательность байтов, используя указанную кодировку, сохраняя результат в новый массив байтов.

Этот метод всегда заменяет некорректные входные данные и неотображаемые символы на стандартный массив замены этой кодировки. Для более тонкого управления процессом кодирования следует использовать класс CharsetEncoder.

Parameters:
charset - Кодировка , которая должна использоваться для кодирования String
Returns:
Результирующий массив байтов
Since:
1.6

getBytes

public byte[] getBytes()
Кодирует эту String в последовательность байтов, используя системную кодировку по умолчанию, сохраняя результат в новый массив байтов.

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

Returns:
Результирующий массив байтов
Since:
1.1

equals

public boolean equals(Object anObject)
Сравнивает эту строку с указанным объектом. Результат является true тогда и только тогда, когда аргумент не null и является объектом типа String , представляющим ту же последовательность символов, что и этот объект.

Для более подробного сравнения строк обратитесь к Collator.

Overrides:
equals в классе Object
Parameters:
anObject - Объект для сравнения с этой String
Returns:
true , если заданный объект представляет String , эквивалентную этой строке, false в противном случае
See Also:
  • compareTo(String)
  • equalsIgnoreCase(String)

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, игнорируя регистр. Две строки считаются равными, игнорируя регистр, если они имеют одинаковую длину и соответствующие кодовые точки Юникода в двух строках равны, игнорируя регистр.

Две кодовые точки Юникода считаются одинаковыми, игнорируя регистр, если выполняется хотя бы одно из следующих условий:

  • Две кодовые точки Юникода одинаковые (как сравниваются оператором ==)
  • Вызов Character.toLowerCase(Character.toUpperCase(int)) для каждой кодовой точки Юникода даёт одинаковый результат

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

Parameters:
anotherString - Сравниваемая String строка
Returns:
true если аргумент не null и он представляет собой эквивалентную String строку, игнорируя регистр; false в противном случае
See Also:
  • equals(Object)
  • codePoints()

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)) для каждой кодовой точки Юникода.

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

Parameters:
str - сравниваемая String строка.
Returns:
отрицательное, нулевое или положительное целое число, в зависимости от того, является ли заданная строка больше, равна или меньше этой строки, игнорируя регистр.
Since:
1.2
See Also:
  • Collator
  • codePoints()

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 обеспечивает сравнение, учитывающее локаль.

Parameters:
ignoreCase - если true, при сравнении символов игнорировать регистр.
toffset - начальный смещение подстроки в этой строке.
other - строка-аргумент.
ooffset - начальный смещение подстроки в строке-аргументе.
len - число символов (единиц кодов Юникода — 16-битное char значение) для сравнения.
Returns:
true если указанная подстрока этой строки соответствует указанной подстроке строки-аргумента; false в противном случае. Точный или чувствительный к регистру характер соответствия зависит от аргумента ignoreCase.
See Also:
  • codePoints()

startsWith

public boolean startsWith(String prefix, int toffset)
Проверяет, начинается ли подстрока этой строки, начиная с указанного индекса, с указанного префикса.
Parameters:
prefix - префикс.
toffset - где начинать поиск в этой строке.
Returns:
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 — длина строки, а ^ обозначает возведение в степень. (Хэш-значение пустой строки равно нулю.)
Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

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 (единицы кода Юникода).

Параметры:
ch - символ (код Юникода).
fromIndex - индекс, с которого начать поиск.
Возвращает:
индекс первого вхождения символа в последовательность символов, представленную этим объектом, который больше или равен fromIndex, или -1 если символ не встречается.

lastIndexOf

public int lastIndexOf(int ch)
Возвращает индекс в этой строке последнего вхождения указанного символа. Для значений ch в диапазоне от 0 до 0xFFFF (включительно), возвращаемый индекс (в единицах кода Юникода) — это наибольшее значение k, такое что:
 this.charAt(k) == ch
 
верно. Для других значений ch, это наибольшее значение k, такое что:
 this.codePointAt(k) == ch
 
верно. В любом случае, если такой символ не встречается в этой строке, то возвращается -1. Поиск по String ведётся в обратном порядке, начиная с последнего символа.
Параметры:
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.
Параметры:
str - подстрока, которую нужно найти.
fromIndex - индекс, с которого начать поиск.
Возвращает:
индекс первого вхождения указанной подстроки, начиная с указанного индекса, или -1 если такого вхождения нет.

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.
Возвращает:
строка, представляющая конкатенацию символов этого объекта и символов аргумента.

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
См. также:
  • Pattern

contains

public boolean contains(CharSequence s)
Возвращает true, если и только если эта строка содержит указанную последовательность значений char.
Параметры:
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
См. также:
  • Pattern

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
См. также:
  • Pattern

replace

public String replace(CharSequence target, CharSequence replacement)
Заменяет каждую подстроку этой строки, которая соответствует литеральной целевой последовательности, указанной литеральной последовательностью замены. Замена происходит с начала строки до конца, например, замена "aa" на "b" в строке "aaa" приведет к "ba", а не к "ab".
Параметры:
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
См. также:
  • Pattern

split

public String[] split(String regex)
Разделяет эту строку по совпадениям с заданным регулярным выражением.

Этот метод работает так, как если бы он вызывал двухаргументный метод split с заданным выражением и аргументом предела, равным нулю. Следовательно, завершающие пустые строки не включаются в возвращаемый массив.

Строка "boo:and:foo", например, даёт следующие результаты с этими выражениями:

Примеры разделения, показывающие регулярное выражение и результат
Регулярное выражение Результат
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
Параметры:
regex - разделяющее регулярное выражение
Возвращает:
массив строк, вычисленных путём разделения этой строки по совпадениям с заданным регулярным выражением
Исключения:
PatternSyntaxException - если синтаксис регулярного выражения некорректен
С тех пор:
1.4
См. также:
  • Pattern

join

public static String join(CharSequence delimiter, CharSequence... elements)
Возвращает новую строку, составленную из копий CharSequence elements вместе с копией указанного delimiter.
Например,

     String message = String.join("-", "Java", "is", "cool");
     // message returned is: "Java-is-cool"
 
Обратите внимание, что если элемент имеет значение null, то добавляется "null".
Параметры:
delimiter - разделитель, разделяющий каждый элемент
elements - элементы, которые нужно объединить.
Возвращает:
новая строка, которая составлена из elements и разделена delimiter
Исключения:
NullPointerException - Если delimiter или elements равно null
С тех пор:
1.8
См. также:
  • StringJoiner

join

public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
Возвращает новую строку, составленную из копий 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 в результирующей строке
elements - итерируемый объект, содержащий элементы, которые будут объединены.
Возвращает:
новая строка, составленная из элементов аргумента
Исключения:
NullPointerException - Если delimiter или elements равно null
С тех пор:
1.8
См. также:
  • join(CharSequence,CharSequence...)
  • StringJoiner

toLowerCase

public String toLowerCase(Locale locale)
Преобразует все символы в этой String в строчные буквы в соответствии с правилами заданного Locale. Преобразование регистров основано на версии стандарта Unicode, указанной классом Character. Поскольку преобразования регистров не всегда являются однозначными преобразованиями символов, результирующая строка может иметь разную длину по сравнению с исходной строкой.

Примеры преобразований в нижний регистр показаны в следующей таблице:

Примеры преобразования в нижний регистр, показывающие код языка локали, верхний регистр, нижний регистр и описание
Код языка локали Верхний регистр Нижний регистр Описание
tr (турецкий) \u0130 \u0069 заглавная буква I с точкой сверху -> строчная буква i
tr (турецкий) \u0049 \u0131 заглавная буква I -> строчная буква без точки i
(все) French Fries french fries преобразование всех символов строки в нижний регистр
(все) ΙΧΘΥΣ ιχθυσ преобразование всех символов строки в нижний регистр
Параметры:
locale - использовать правила преобразования регистра для данной локали
Возвращает:
строка, преобразованная в нижний регистр.
С тех пор:
1.1
См. также:
  • toLowerCase()
  • toUpperCase()
  • toUpperCase(Locale)

toLowerCase

public String toLowerCase()
Преобразует все символы в этой String в нижний регистр в соответствии с правилами стандартной локали. Это эквивалентно вызову toLowerCase(Locale.getDefault()).

Примечание: Этот метод чувствителен к локали и может давать неожиданные результаты, если используется для строк, которые должны интерпретироваться независимо от локали. Примерами являются идентификаторы языков программирования, ключи протоколов и теги HTML. Например, "TITLE".toLowerCase() в турецкой локали возвращает "t\u0131tle", где '\u0131' — символ LATIN SMALL LETTER DOTLESS I. Чтобы получить правильные результаты для локали-независимых строк, используйте toLowerCase(Locale.ROOT).

Возвращает:
строка, преобразованная в нижний регистр.
См. также:
  • toLowerCase(Locale)

toUpperCase

public String toUpperCase(Locale locale)
Преобразует все символы в этой String в верхний регистр, используя правила заданного Locale. Преобразование регистра основано на версии стандарта Unicode, указанной классом Character. Поскольку преобразование регистра не всегда является однозначным соответствием символ-символ, результирующая String может иметь другую длину, чем исходная String.

Примеры регистрозависимых и многозначных преобразований отображены в следующей таблице.

Примеры регистрозависимых и многозначных преобразований. Показываются код языка локали, строчная запись, прописная запись и описание.
Код языка локали Строчная запись Прописная запись Описание
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()
  • toLowerCase()
  • toLowerCase(Locale)

toUpperCase

public String toUpperCase()
Преобразует все символы в этой String в верхний регистр, используя правила по умолчанию локали. Этот метод эквивалентен toUpperCase(Locale.getDefault()).

Примечание: Этот метод чувствителен к локали и может давать неожиданные результаты при использовании для строк, которые должны интерпретироваться независимо от локали. Примерами являются идентификаторы языков программирования, ключи протоколов и теги HTML. Например, "title".toUpperCase() в турецкой локали возвращает "T\u0130TLE", где '\u0130' — это символ ПРОПИСНАЯ БУКВА I С ТОЧКОЙ СВЕРХУ. Для получения корректных результатов для строк, нечувствительных к локали, используйте toUpperCase(Locale.ROOT).

Возвращает:
строка String, преобразованная в верхний регистр.
См. также:
  • toUpperCase(Locale)

trim

public String trim()
Возвращает строку, значение которой равно данной строке, с удаленными всеми начальными и конечными пробелами, где пробел определяется любым символом, код которого меньше или равен 'U+0020' (символу пробела).

Если этот String объект представляет пустую последовательность символов, или первый и последний символы последовательности символов, представленной этим String объектом, оба имеют коды, не являющиеся пробелом (как определено выше), то возвращается ссылка на этот String объект.

В противном случае, если все символы в этой строке являются пробелами (как определено выше), то возвращается String объект, представляющий пустую строку.

В противном случае, пусть k — индекс первого символа в строке, код которого не является пробелом (как определено выше), и пусть m — индекс последнего символа в строке, код которого не является пробелом (как определено выше). Возвращается String объект, представляющий подстроку этой строки, начинающуюся с символа с индексом k и заканчивающуюся символом с индексом m — то есть результат this.substring(k, m + 1).

Этот метод может использоваться для удаления пробелов (как определено выше) из начала и конца строки.

Возвращает:
строка, значение которой равно данной строке, со всеми начальными и конечными пробелами удалены, или эта строка, если у неё нет начальных или конечных пробелов.

strip

public String strip()
Возвращает строку, значение которой равно данной строке, с удалёнными всеми начальными и конечными символами пробела.

Если этот String объект представляет пустую строку, или все коды символов в этой строке являются пробелами, то возвращается пустая строка.

В противном случае, возвращается подстрока этой строки, начинающаяся с первого символа, который не является пробелом, до и включая последний символ, который не является пробелом.

Этот метод может быть использован для удаления пробелов с начала и конца строки.

Возвращает:
строка, значение которой равно данной строке, с удаленными всеми начальными и конечными пробелами
С:
11
См. также:
  • Character.isWhitespace(int)

stripLeading

public String stripLeading()
Возвращает строку, значение которой равно данной строке, с удалёнными всеми начальными символами пробела.

Если этот String объект представляет пустую строку, или все коды символов в этой строке являются пробелами, то возвращается пустая строка.

В противном случае, возвращается подстрока этой строки, начинающаяся с первого символа, который не является пробелом, до и включая последний символ этой строки.

Этот метод может быть использован для удаления пробелов с начала строки.

Возвращает:
строка, значение которой равно данной строке, с удаленными всеми начальными пробелами
С:
11
См. также:
  • Character.isWhitespace(int)

stripTrailing

public String stripTrailing()
Возвращает строку, значение которой равно данной строке, с удалёнными всеми конечными символами пробела.

Если этот String объект представляет пустую строку, или все символы в этой строке являются пробелами, то возвращается пустая строка.

В противном случае, возвращается подстрока этой строки, начинающаяся с первого символа этой строки до и включая последний символ, который не является пробелом.

Этот метод может быть использован для удаления пробелов с конца строки.

Возвращает:
строка, значение которой равно данной строке, с удаленными всеми конечными пробелами
С:
11
См. также:
  • Character.isWhitespace(int)

isBlank

public boolean isBlank()
Возвращает true, если строка пуста или содержит только символы пробела, в противном случае false.
Возвращает:
true если строка пуста или содержит только символы пробела, в противном случае false
С:
11
См. также:
  • Character.isWhitespace(int)

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 , то строка остается без изменений. Однако, символы конца строки по-прежнему нормализуются.

Parameters:
n - количество ведущих пробелов для добавления или удаления
Returns:
строка с отступами и концами строк, приведенными к нормальному виду
Since:
12
See Also:
  • lines()
  • isBlank()
  • Character.isWhitespace(int)

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 Note:
Основная цель этого метода — максимально сдвинуть блок строк влево, сохраняя относительные отступы. Таким образом, строки с наименьшими отступами не будут иметь ведущих пробелов. Результат будет иметь такое же количество символов конца строки, как и эта строка. Если эта строка заканчивается символом конца строки, то результат также будет заканчиваться символом конца строки.
Implementation Requirements:
Этот метод обрабатывает все символы пробела как имеющие одинаковую ширину. Пока отступы каждой строки состоят из одних и тех же последовательностей символов, результат будет таким, как описано выше.
Returns:
строка с удаленными случайными отступами и нормализованными символами конца строки
Since:
15
See Also:
  • lines()
  • isBlank()
  • indent(int)
  • Character.isWhitespace(int)

translateEscapes

public String translateEscapes()
Возвращает строку, значение которой равно этой строке, с экранированными последовательностями, преобразованными так, как если бы они находились в строковой литерале.

Экранированные последовательности преобразуются следующим образом;

Translation
Escape Name Translation
\b backspace 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> продолжение отбрасывается
Implementation Note:
Этот метод не преобразует Unicode escape, такие как "\u2022". Unicode escape преобразуются компилятором Java при чтении символов входных данных и не являются частью спецификации строковой литералы.
Returns:
Строка с преобразованными экранированными последовательностями.
Throws:
IllegalArgumentException - если экранированная последовательность имеет неправильный формат.
See Java Language Specification:
3.10.7 Экранированные последовательности
Since:
15

transform

public <R> R transform(Function<? super String,? extends R> f)
Этот метод позволяет применять функцию к this строке. Функция должна ожидать один аргумент String и возвращать R результат.

Любое исключение, сгенерированное f.apply(), будет передано вызывающей стороне.

Type Parameters:
R - тип результата
Parameters:
f - функция для применения
Returns:
результат применения функции к этой строке
Since:
12
See Also:
  • Function

toString

public String toString()
Этот объект (который уже является строкой!) возвращается сам по себе.
Specified by:
toString в интерфейсе CharSequence
Overrides:
toString в классе Object
Returns:
сама строка.

chars

public IntStream chars()
Возвращает поток символов с нулевым расширением int значений из этой последовательности. Любой символ, который отображается на супровую кодовую точку, передается без интерпретации.
Specified by:
chars в интерфейсе CharSequence
Returns:
IntStream значений char из этой последовательности
Since:
9

codePoints

public IntStream codePoints()
Возвращает поток значений кодовых точек из этой последовательности. Любая пара суррогатов, встречающаяся в последовательности, объединяется, как если бы она была применена Character.toCodePoint, и результат передается в поток. Любые другие кодовые единицы, включая обычные символы BMP, несцепленные суррогаты и неопределенные кодовые единицы, расширяются до нуля int значений, которые затем передаются в поток.
Specified by:
codePoints в интерфейсе CharSequence
Returns:
IntStream значений кодовых точек Unicode из этой последовательности
Since:
9

toCharArray

public char[] toCharArray()
Преобразует эту строку в новый массив символов.
Returns:
новый выделенный массив символов, длина которого равна длине этой строки, и содержимое которого инициализировано последовательностью символов, представленной этой строкой.

форматировать

public static String format(String format, Object... args)
Возвращает отформатированную строку, используя указанную строку формата и аргументы.

Используемый язык всегда соответствует языку, возвращаемому Locale.getDefault(Locale.Category) со значением категории FORMAT.

Параметры:
format - A строка формата
args - Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, дополнительные аргументы игнорируются. Количество аргументов может быть переменным и равным нулю. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение с аргументом null зависит от преобразования.
Возвращаемое значение:
Отформатированная строка
Исключение:
IllegalFormatException - Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, задано недостаточное количество аргументов для строки формата или имеются другие ошибки. Полный список возможных ошибок форматирования см. в разделе Детали спецификации класса formatter.
С:
1.5
См. также:
  • Formatter

форматировать

public static String format(Locale l, String format, Object... args)
Возвращает отформатированную строку, используя указанный регион, строку формата и аргументы.
Параметры:
l - Регион для применения при форматировании. Если l равно null, локализация не применяется.
format - A строка формата
args - Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, дополнительные аргументы игнорируются. Количество аргументов может быть переменным и равным нулю. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение с аргументом null зависит от преобразования.
Возвращаемое значение:
Отформатированная строка
Исключение:
IllegalFormatException - Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, задано недостаточное количество аргументов для строки формата или имеются другие ошибки. Полный список возможных ошибок форматирования см. в разделе Детали спецификации класса formatter.
С:
1.5
См. также:
  • Formatter

отформатированный

public String formatted(Object... args)
Форматирование с использованием этой строки в качестве строки формата и предоставленных аргументов.
Требования к реализации:
Этот метод эквивалентен String.format(this, args).
Параметры:
args - Аргументы, на которые ссылаются спецификаторы формата в этой строке.
Возвращаемое значение:
Отформатированная строка
С:
15
См. также:
  • format(String,Object...)
  • Formatter

valueOf

public static String valueOf(Object obj)
Возвращает строковое представление аргумента Object.
Параметры:
obj - объект Object.
Возвращаемое значение:
Если аргумент null, возвращается строка, равная "null"; в противном случае возвращается значение obj.toString().
См. также:
  • Object.toString()

valueOf

public static String valueOf(char[] data)
Возвращает строковое представление массива аргументов char символов. Содержимое массива символов копируется; последующие изменения массива символов не влияют на возвращаемую строку.
Параметры:
data - массив символов.
Возвращаемое значение:
строка, содержащая символы массива символов.

valueOf

public static String valueOf(char[] data, int offset, int count)
Возвращает строковое представление определенного подмассива аргумента массива char символов.

Аргумент offset - индекс первого символа подмассива. Аргумент count указывает длину подмассива. Содержимое подмассива копируется; последующие изменения массива символов не влияют на возвращаемую строку.

Параметры:
data - массив символов.
offset - начальный смещение подмассива.
count - длина подмассива.
Возвращаемое значение:
строка, содержащая символы указанного подмассива массива символов.
Исключение:
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 - длина подмассива.
Возвращаемое значение:
строка, содержащая символы указанного подмассива массива символов.
Исключение:
IndexOutOfBoundsException - если offset отрицательно, или count отрицательно, или offset+count больше чем data.length.

copyValueOf

public static String copyValueOf(char[] data)
Эквивалентно valueOf(char[]).
Параметры:
data - массив символов.
Возвращаемое значение:
строка, содержащая символы массива символов.

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.
См. также:
  • Integer.toString(int, int)

valueOf

public static String valueOf(long l)
Возвращает строковое представление аргумента long длинного целого числа.

Представление точно такое же, как возвращаемое методом Long.toString с одним аргументом.

Параметры:
l - длинное целое число long.
Возвращаемое значение:
строковое представление аргумента long.
См. также:
  • Long.toString(long)

valueOf

public static String valueOf(float f)
Возвращает строковое представление аргумента float с плавающей запятой.

Представление точно такое же, как возвращаемое методом Float.toString с одним аргументом.

Параметры:
f - число с плавающей запятой float.
Возвращаемое значение:
строковое представление аргумента float.
См. также:
  • Float.toString(float)

valueOf

public static String valueOf(double d)
Возвращает строковое представление аргумента double с плавающей запятой двойной точности.

Представление точно такое же, как возвращаемое методом Double.toString с одним аргументом.

Параметры:
d - число с плавающей запятой двойной точности double.
Возвращаемое значение:
строковое представление аргумента double.
См. также:
  • Double.toString(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, 2021, 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/17/docs/api/java.base/java/lang/String.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API