Spec-Zone.ru › OpenJDK 8

Класс String

  • java.lang.Object
    • java.lang.String
Все реализованные интерфейсы:
Serializable, CharSequence, Comparable<String>

public final class String
extends Object
implements Serializable, Comparable<String>, CharSequence

Класс 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 предоставляет специальную поддержку оператора конкатенации строк ( + ) и преобразования других объектов в строки. Конкатенация строк реализуется через класс StringBuilder (или StringBuffer) и его метод append. Преобразования строк реализуются через метод toString, определенный в Object и унаследованный всеми классами в Java. Дополнительную информацию о конкатенации и преобразовании строк см. в книге Gosling, Joy, и Steele, The Java Language Specification.

Если не указано иное, передача null аргумента в конструктор или метод в этом классе вызовет исключение NullPointerException.

Объект String представляет строку в формате UTF-16, в котором дополнительные символы представляются парами суррогатов (см. раздел Представления символов Unicode в классе Character для получения дополнительной информации). Значения индексов относятся к блокам кода, поэтому дополнительный символ использует две позиции в строке String.

Класс String предоставляет методы для работы с кодовыми точками Unicode (т. е. символами) помимо методов для работы с кодовыми единицами Unicode (т. е. значениями char).

С тех пор:
JDK1.0
См. также:
Object.toString(), StringBuffer, StringBuilder, Charset, Формат сериализации

Поля

Модификатор и тип Поле и описание
static Comparator<String> CASE_INSENSITIVE_ORDER

Объект компаратора, который упорядочивает объекты String согласно порядку compareToIgnoreCase.

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

Конструктор и описание
String()

Инициализирует новый созданный объект String, чтобы он представлял пустую последовательность символов.

String(byte[] bytes)

Создаёт новый объект String, декодируя указанный массив байтов с использованием кодировки по умолчанию платформы.

String(byte[] bytes, Charset charset)

Создаёт новый объект String, декодируя указанный массив байтов с использованием указанной кодировки charset.

String(byte[] ascii, int hibyte)

Устаревший.

Этот метод не корректно преобразует байты в символы. Начиная с JDK 1.1, предпочтительным способом является использование конструкторов String, принимающих Charset, имя кодировки или использующих кодировку по умолчанию платформы.

String(byte[] bytes, int offset, int length)

Создаёт новый объект String, декодируя указанный подмассив байтов с использованием кодировки по умолчанию платформы.

String(byte[] bytes, int offset, int length, Charset charset)

Создаёт новый объект String, декодируя указанный подмассив байтов с использованием указанной кодировки charset.

String(byte[] ascii, int hibyte, int offset, int count)

Устаревший.

Этот метод не корректно преобразует байты в символы. Начиная с JDK 1.1, предпочтительным способом является использование конструкторов String, принимающих Charset, имя кодировки или использующих кодировку по умолчанию платформы.

String(byte[] bytes, int offset, int length, String charsetName)

Создаёт новый объект String, декодируя указанный подмассив байтов с использованием указанной кодировки.

String(byte[] bytes, String charsetName)

Создаёт новый объект 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)

Выделяет новую строку, содержащую последовательность символов, текущих в билдере строк-аргументе.

Методы

Модификатор и тип Метод и описание
char charAt(int index)

Возвращает значение в указанном индексе.

int codePointAt(int index)

Возвращает символ (код Юникода) в указанном индексе.

int codePointBefore(int index)

Возвращает символ (код Юникода) перед указанным индексом.

int codePointCount(int beginIndex, int endIndex)

Возвращает количество символов Юникода в указанном текстовом диапазоне этого String.

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).

boolean endsWith(String suffix)

Проверяет, заканчивается ли эта строка указанным суффиксом.

boolean equals(Object anObject)

Сравнивает эту строку с указанным объектом.

boolean equalsIgnoreCase(String anotherString)

Сравнивает эту String с другой String, игнорируя различия в регистре.

static String format(Locale l, String format, Object... args)

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

static String format(String format, Object... args)

Возвращает отформатированную строку, используя указанную строку формата и аргументы.

byte[] getBytes()

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

byte[] getBytes(Charset charset)

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

void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)

Устарело.

Этот метод не правильно преобразует символы в байты. Начиная с JDK 1.1, предпочтительным способом является использование метода getBytes(), который использует кодировку по умолчанию платформы.

byte[] getBytes(String charsetName)

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

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Копирует символы из этой строки в целевой массив символов.

int hashCode()

Возвращает код хэша для этой строки.

int indexOf(int ch)

Возвращает индекс в этой строке первого вхождения указанного символа.

int indexOf(int ch, int fromIndex)

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

int indexOf(String str)

Возвращает индекс в этой строке первого вхождения указанной подстроки.

int indexOf(String str, int fromIndex)

Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса.

String intern()

Возвращает каноническое представление объекта строки.

boolean isEmpty()

Возвращает 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()

Возвращает длину этой строки.

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 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[] split(String regex)

Разделяет эту строку по соответствиям заданному регулярному выражению.

String[] split(String regex, int limit)

Разделяет эту строку по соответствиям заданному регулярному выражению.

boolean startsWith(String prefix)

Проверяет, начинается ли эта строка с указанного префикса.

boolean startsWith(String prefix, int toffset)

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

CharSequence subSequence(int beginIndex, int endIndex)

Возвращает последовательность символов, которая является подпоследовательностью этой последовательности.

String substring(int beginIndex)

Возвращает строку, которая является подстрокой этой строки.

String substring(int beginIndex, int endIndex)

Возвращает строку, которая является подстрокой этой строки.

char[] toCharArray()

Преобразует эту строку в новый массив символов.

String toLowerCase()

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

String toLowerCase(Locale locale)

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

String toString()

Этот объект (который уже является строкой!) возвращается сам.

String toUpperCase()

Преобразует все символы в этой String в верхний регистр, используя правила локального региона по умолчанию.

String toUpperCase(Locale locale)

Преобразует все символы в этой String в верхний регистр, используя правила заданного Locale.

String trim()

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

static String valueOf(boolean b)

Возвращает строковое представление аргумента boolean.

static String valueOf(char c)

Возвращает строковое представление аргумента char.

static String valueOf(char[] data)

Возвращает строковое представление аргумента char.

static String valueOf(char[] data, int offset, int count)

Возвращает строковое представление определенного подмассива аргумента char.

static String valueOf(double d)

Возвращает строковое представление аргумента double.

static String valueOf(float f)

Возвращает строковое представление аргумента float.

static String valueOf(int i)

Возвращает строковое представление аргумента int.

static String valueOf(long l)

Возвращает строковое представление аргумента long.

static String valueOf(Object obj)

Возвращает строковое представление аргумента Object.

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

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

Методы, унаследованные от интерфейса java.lang.CharSequence

chars, codePoints

Поля

CASE_INSENSITIVE_ORDER

public static final Comparator<String> CASE_INSENSITIVE_ORDER

Сравниватель, упорядочивающий объекты String по compareToIgnoreCase. Данный сравниватель сериализуем.

Обратите внимание, что этот сравниватель не учитывает локаль и может привести к неудовлетворительному упорядочению для определенных локалей. Для чувствительного к локали упорядочения используйте Collators из пакета java.text.

С момента:
1.2
См. также:
Collator.compare(String, String)

Конструкторы

String

public String()

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

String

public String(String original)

Инициализирует новый объект String, чтобы он представлял ту же последовательность символов, что и аргумент; другими словами, новая строка является копией аргументной строки. Если явная копия original не нужна, использование этого конструктора не требуется, так как строки неизменяемы.

Параметры:
original - A String

String

public String(char[] value)

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

Параметры:
value - Начальное значение строки

String

public String(char[] value,
              int offset,
              int count)

Выделяет новую String, содержащую символы из подмассива аргумента массива символов. Аргумент offset — это индекс первого символа подмассива, а аргумент count задаёт длину подмассива. Содержимое подмассива копируется; последующее изменение массива символов не влияет на вновь созданную строку.

Параметры:
value - Массив, являющийся источником символов
offset - Начальное смещение
count - Длина
Исключения:
IndexOutOfBoundsException - Если аргументы offset и count индексируют символы за пределами границ массива value

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 индексируют символы за пределами границ массива codePoints
С момента:
1.5

String

@Deprecated
public String(byte[] ascii,
                          int hibyte,
                          int offset,
                          int count)

Устарело. Этот метод некорректно преобразует байты в символы. Начиная с JDK 1.1, предпочтительный способ сделать это — использовать конструкторы String, принимающие Charset, имя набора символов или использующие системный набор символов по умолчанию.

Выделяет новую String, построенную из подмассива массива 8-битовых целых значений.

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

Каждый byte в подмассиве преобразуется в char как указано в методе выше.

Параметры:
ascii - Байты, которые необходимо преобразовать в символы
hibyte - Верхние 8 бит каждого 16-битного блока кода Unicode
offset - Начальное смещение
count - Длина
Исключения:
IndexOutOfBoundsException - Если аргумент offset или 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
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-битного блока кода Unicode
См. также:
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 индексируют символы за пределами границ массива bytes
С момента:
JDK1.1

String

public String(byte[] bytes,
              int offset,
              int length,
              Charset charset)

Создаёт новую String путём декодирования указанного подмассива байтов с использованием указанного набора символов. Длина новой String зависит от набора символов и, следовательно, может не совпадать с длиной подмассива.

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

Параметры:
bytes - Байты, которые необходимо декодировать в символы
offset - Индекс первого байта для декодирования
length - Количество байтов для декодирования
charset - Набор символов, используемый для декодирования bytes
Исключения:
IndexOutOfBoundsException - Если аргументы offset и length индексируют символы за пределами границ массива bytes
С момента:
1.6

String

public String(byte[] bytes,
              String charsetName)
       throws UnsupportedEncodingException

Создаёт новую String путём декодирования указанного массива байтов с использованием указанного набора символов. Длина новой String зависит от набора символов и, следовательно, может не совпадать с длиной массива байтов.

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

Параметры:
bytes - Байты, которые необходимо декодировать в символы
charsetName - Имя поддерживаемого набора символов
Исключения:
UnsupportedEncodingException - Если заданный набор символов не поддерживается
С момента:
JDK1.1

String

public String(byte[] bytes,
              Charset charset)

Создаёт новую String путём декодирования указанного массива байтов с использованием указанного набора символов. Длина новой String зависит от набора символов и, следовательно, может не совпадать с длиной массива байтов.

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

Параметры:
bytes - Байты, которые необходимо декодировать в символы
charset - Набор символов, используемый для декодирования bytes
С момента:
1.6

String

public String(byte[] bytes,
              int offset,
              int length)

Создаёт новую String путём декодирования указанного подмассива байтов с использованием системного набора символов по умолчанию. Длина новой String зависит от набора символов и, следовательно, может не совпадать с длиной подмассива.

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

Параметры:
bytes - Байты, которые необходимо декодировать в символы
offset - Индекс первого байта для декодирования
length - Количество байтов для декодирования
Исключения:
IndexOutOfBoundsException - Если аргументы offset и length индексируют символы за пределами границ массива bytes
С тех пор:
JDK1.1

Строка

public String(byte[] bytes)

Создаёт новую строку, декодируя указанный массив байтов с использованием по умолчанию кодировки платформы. Длина новой строки зависит от кодировки и, следовательно, может не совпадать с длиной массива байтов.

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

Параметры:
bytes - Байты, которые необходимо декодировать в символы
С тех пор:
JDK1.1

Строка

public String(StringBuffer buffer)

Выделяет новую строку, содержащую последовательность символов, которые в данный момент содержатся в аргументе буфера строк. Содержимое буфера строк копируется; последующие изменения буфера строк не влияют на вновь созданную строку.

Параметры:
buffer - Буфер строк

Строка

public String(StringBuilder builder)

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

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

Параметры:
builder - Билдер строк
С тех пор:
1.5

Методы

length

public int length()

Возвращает длину этой строки. Длина равна количеству символов Юникода в строке.

Определено в:
length в интерфейсе CharSequence
Возвращает:
длину последовательности символов, представленной этим объектом.

isEmpty

public boolean isEmpty()

Возвращает true тогда и только тогда, когда length() равно 0.

Возвращает:
true если length() равно 0, в противном случае false
С тех пор:
1.6

charAt

public char charAt(int index)

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

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

Определено в:
charAt в интерфейсе CharSequence
Параметры:
index - индекс значения символа.
Возвращает:
значение символа в указанном индексе этой строки. Первый символ находится по индексу 0.
Исключения:
IndexOutOfBoundsException - если аргумент index отрицателен или не меньше длины этой строки.

codePointAt

public int codePointAt(int index)

Возвращает символ (кодовое значение Юникода) в указанном индексе. Индекс относится к значениям символов (единицам Юникода) и изменяется от 0 до length()- 1.

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

Параметры:
index - индекс к значениям символов
Возвращает:
значение кодового символа символа в index
Исключения:
IndexOutOfBoundsException - если аргумент index отрицателен или не меньше длины этой строки.
С тех пор:
1.5

codePointBefore

public int codePointBefore(int index)

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

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

Параметры:
index - индекс, следующий за кодовым символом, который должен быть возвращён
Возвращает:
значение кодового символа Юникода перед заданным индексом.
Исключения:
IndexOutOfBoundsException - если аргумент index меньше 1 или больше длины этой строки.
С тех пор:
1.5

codePointCount

public int codePointCount(int beginIndex,
                          int endIndex)

Возвращает количество символов Юникода в указанном диапазоне текста этой строки. Диапазон текста начинается в указанном beginIndex и простирается до char в индексе endIndex - 1. Таким образом, длина (в символах) диапазона текста составляет endIndex-beginIndex. Непарные суррогаты в диапазоне текста считаются по одному символу Юникода каждый.

Параметры:
beginIndex - индекс первого символа диапазона текста.
endIndex - индекс после последнего символа диапазона текста.
Возвращает:
количество символов Юникода в указанном диапазоне текста
Исключения:
IndexOutOfBoundsException - если beginIndex отрицателен, или endIndex больше длины этой строки, или beginIndex больше endIndex.
С тех пор:
1.5

offsetByCodePoints

public int offsetByCodePoints(int index,
                              int codePointOffset)

Возвращает индекс в этой строке, который смещён от данного index на codePointOffset символов. Непарные суррогаты в диапазоне текста, заданном index и codePointOffset, считаются по одному символу Юникода каждый.

Параметры:
index - индекс, который необходимо сместить
codePointOffset - смещение в кодовых точках
Возвращает:
индекс в этой строке
Исключения:
IndexOutOfBoundsException - если index отрицателен или больше длины этой строки, или если 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
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
Параметры:
srcBegin - Индекс первого символа в строке для копирования
srcEnd - Индекс после последнего символа в строке для копирования
dst - Целевой массив
dstBegin - Начальное смещение в целевом массиве
Исключения:
IndexOutOfBoundsException - Если выполняется любое из следующих условий:
  • srcBegin отрицателен
  • srcBegin больше srcEnd
  • srcEnd больше длины этой строки
  • dstBegin отрицателен
  • dstBegin+(srcEnd-srcBegin) больше dst.length

getBytes

public byte[] getBytes(String charsetName)
                throws UnsupportedEncodingException

Кодирует эту строку в последовательность байтов с использованием указанной кодировки, сохраняя результат в новом массиве байтов.

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

Параметры:
charsetName - Имя поддерживаемого кодирования символов
Возвращает:
Полученный массив байтов
Выбрасывает:
UnsupportedEncodingException - Если указанное кодирование символов не поддерживается
С:
JDK1.1

getBytes

public byte[] getBytes(Charset charset)

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

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

Параметры:
charset - Кодирование символов, используемое для кодирования String
Возвращает:
Полученный массив байтов
С:
1.6

getBytes

public byte[] getBytes()

Кодирует эту String в последовательность байтов с использованием стандартного кодирования символов платформы, сохраняя результат в новый массив байтов.

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

Возвращает:
Полученный массив байтов
С:
JDK1.1

equals

public boolean equals(Object anObject)

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

Переопределяет:
equals в классе Object
Параметры:
anObject - Объект для сравнения с этой String
Возвращает:
true , если заданный объект представляет String эквивалентную этой строке, false в противном случае
См. также:
compareTo(String), equalsIgnoreCase(String)

contentEquals

public boolean contentEquals(StringBuffer sb)

Сравнивает эту строку с заданным StringBuffer. Результат — true тогда и только тогда, когда эта String представляет ту же последовательность символов, что и заданный StringBuffer. Этот метод блокирует StringBuffer.

Параметры:
sb - StringBuffer для сравнения с этой String
Возвращает:
true , если эта String представляет ту же последовательность символов, что и заданный StringBuffer, false в противном случае
С:
1.4

contentEquals

public boolean contentEquals(CharSequence cs)

Сравнивает эту строку с указанной CharSequence. Результат — true тогда и только тогда, когда эта String представляет ту же последовательность символов, что и указанная последовательность. Обратите внимание, что если CharSequence является StringBuffer, то метод блокирует его.

Параметры:
cs - Последовательность для сравнения с этой String
Возвращает:
true , если эта String представляет ту же последовательность символов, что и указанная последовательность, false в противном случае
С:
1.5

equalsIgnoreCase

public boolean equalsIgnoreCase(String anotherString)

Сравнивает эту String с другой String, игнорируя регистр. Две строки считаются равными, игнорируя регистр, если они имеют одинаковую длину и соответствующие символы в двух строках равны, игнорируя регистр.

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

  • Два символа одинаковы (сравниваются оператором ==)
  • Применение метода Character.toUpperCase(char) к каждому символу приводит к одному и тому же результату
  • Применение метода Character.toLowerCase(char) к каждому символу приводит к одному и тому же результату
Параметры:
anotherString - String для сравнения с этой String
Возвращает:
true , если аргумент не null и представляет эквивалентную String , игнорируя регистр; false в противном случае
См. также:
equals(Object)

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()
Установлено:
compareTo в интерфейсе Comparable<String>
Параметры:
anotherString - сравниваемая String.
Возвращает:
значение 0 , если строка-аргумент равна этой строке; значение меньше 0 , если эта строка лексикографически меньше строки-аргумента; и значение больше 0 , если эта строка лексикографически больше строки-аргумента.

compareToIgnoreCase

public int compareToIgnoreCase(String str)

Сравнивает две строки лексикографически, игнорируя различия в регистре. Этот метод возвращает целое число, знак которого соответствует вызову compareTo с нормализованными версиями строк, где различия в регистре были устранены путем вызова Character.toLowerCase(Character.toUpperCase(character)) для каждого символа.

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

Параметры:
str - сравниваемая String.
Возвращает:
отрицательное целое число, ноль или положительное целое число, в зависимости от того, больше, равно или меньше, чем эта строка, игнорируя различия в регистре.
С:
1.2
См. также:
Collator.compare(String, String)

regionMatches

public boolean regionMatches(int toffset,
                             String other,
                             int ooffset,
                             int len)

Проверяет, равны ли две области строк.

Подстрока этого объекта String сравнивается с подстрокой аргумента other. Результат — true, если эти подстроки представляют идентичные последовательности символов. Подстрока этого объекта String для сравнения начинается с индекса toffset и имеет длину len. Подстрока other для сравнения начинается с индекса ooffset и имеет длину len. Результат — false тогда и только тогда, когда выполняется хотя бы одно из следующих условий:

  • toffset отрицательно.
  • ooffset отрицательно.
  • toffset+len больше длины этого объекта String.
  • ooffset+len больше длины другого аргумента.
  • Существует некоторое неотрицательное целое число k, меньшее len, такое что: this.charAt(toffset + k) != other.charAt(ooffset + k)
Параметры:
toffset - начальный смещение подстроки в этой строке.
other - строка-аргумент.
ooffset - начальное смещение подстроки в строке-аргументе.
len - количество символов для сравнения.
Возвращает:
true , если указанная подстрока этой строки точно совпадает с указанной подстрокой строки-аргумента; false в противном случае.

regionMatches

public boolean regionMatches(boolean ignoreCase,
                             int toffset,
                             String other,
                             int ooffset,
                             int len)

Проверяет, равны ли две области строк.

Подстрока этого объекта String сравнивается с подстрокой аргумента other. Результат — true , если эти подстроки представляют последовательности символов, которые одинаковы, игнорируя регистр, если и только если ignoreCase истинно. Подстрока этого объекта String для сравнения начинается с индекса toffset и имеет длину len. Подстрока other для сравнения начинается с индекса ooffset и имеет длину len. Результат — false тогда и только тогда, когда выполняется хотя бы одно из следующих условий:

  • toffset отрицательно.
  • ooffset отрицательно.
  • toffset+len больше длины этого объекта String.
  • ooffset+len больше длины другого аргумента.
  • ignoreCase и существует некоторое неотрицательное целое число k, меньшее len, такое что:
    this.charAt(toffset+k) != other.charAt(ooffset+k)
  • ignoreCase и существует некоторое неотрицательное целое число k, меньшее len, такое что:
    Character.toLowerCase(this.charAt(toffset+k)) !=
        Character.toLowerCase(other.charAt(ooffset+k))
    и:
    Character.toUpperCase(this.charAt(toffset+k)) !=
            Character.toUpperCase(other.charAt(ooffset+k))
Параметры:
ignoreCase - если true, игнорировать регистр при сравнении символов.
toffset - начальный смещение подстроки в этой строке.
other - строковый аргумент.
ooffset - начальный смещение подстроки в строковом аргументе.
len - количество символов для сравнения.
Возвращает:
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 — длиной строки, а ^ обозначает возведение в степень. (Хэш-значение пустой строки равно нулю.)

Переопределяет:
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 >= fromIndex  && 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  <= fromIndex  && 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 управляет количеством применений шаблона и, следовательно, влияет на длину результирующего массива. Если предел n больше нуля, то шаблон будет применяться не более чем n - 1 раз, длина массива не будет больше n, и последний элемент массива будет содержать все входные данные, начиная с последнего совпадения разделителя. Если n не положителен, то шаблон будет применяться столько раз, сколько возможно, и массив может иметь любую длину. Если n равно нулю, то шаблон будет применяться столько раз, сколько возможно, массив может иметь любую длину, и последующие пустые строки будут отброшены.

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

Регулярное выражение Предел Результат
: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 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 с двумя аргументами с заданным выражением и аргументом ограничения 0. Следовательно, завершающие пустые строки не включаются в результирующий массив.

Строка "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 - элементы, которые необходимо объединить.
Возвращает:
новая String, составленная из elements, разделенных delimiter.
Исключение:
NullPointerException - Если delimiter или elements равны null
С:
1.8
См. также:
StringJoiner

join

public static String join(CharSequence delimiter,
                          Iterable<? extends CharSequence> elements)

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

List<String> strings = new LinkedList<>();
strings.add("Java");strings.add("is");
strings.add("cool");
String message = String.join(" ", strings);
//message returned is: "Java is cool"

Set<String> strings = new LinkedHashSet<>();
strings.add("Java"); strings.add("is");
strings.add("very"); strings.add("cool");
String message = String.join("-", strings);
//message returned is: "Java-is-very-cool"
Обратите внимание, что если отдельный элемент равен null, то добавляется "null".

Параметры:
delimiter - последовательность символов, используемая для разделения каждого elements в результирующей String
elements - Iterable, у которого будут объединены elements.
Возвращает:
новая String, составленная из elements аргумента
Исключение:
NullPointerException - Если delimiter или elements равны null
С:
1.8
См. также:
join(CharSequence,CharSequence...), StringJoiner

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 преобразование всех символов в строке в строчные
(все) capiotacapchi capthetacapupsil capsigma iotachi thetaupsilon sigma преобразование всех символов в строчные
Параметры:
locale - использование правил преобразования регистра для этой локали
Возвращает:
строку, преобразованную в нижний регистр.
С:
1.1
См. также:
toLowerCase(), toUpperCase(), toUpperCase(Locale)

toLowerCase

public String toLowerCase()

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

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

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

toUpperCase

public String toUpperCase(Locale locale)

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

Примеры преобразований регистра, чувствительных к локали, и 1:M соответствия в следующей таблице.

Код языка локали Строчные буквы Заглавные буквы Описание
tr (турецкий) \u0069 \u0130 строчная буква i -> заглавная буква I с точкой сверху
tr (турецкий) \u0131 \u0049 строчная буква без точки i -> заглавная буква I
(все) \u00df \u0053 \u0053 строчная буква sharp s -> две буквы: SS
(все) Fahrvergnügen FAHRVERGNÜGEN
Параметры:
locale - использование правил преобразования регистра для этой локали
Возвращает:
строку, преобразованную в верхний регистр.
С:
1.1
См. также:
toUpperCase(), toLowerCase(), toLowerCase(Locale)

toUpperCase

public String toUpperCase()

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

Примечание: Этот метод чувствителен к локали и может давать неожиданные результаты при использовании для строк, которые должны быть интерпретированы независимо от локали. Примерами являются идентификаторы языков программирования, ключи протоколов и теги HTML. Например, "title".toUpperCase() в турецкой локали возвращает "T\u0130TLE", где '\u0130' - это символ заглавной латинской буквы I с точкой сверху. Для получения правильных результатов для строк, нечувствительных к локали, используйте toUpperCase(Locale.ROOT).

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

trim

public String trim()

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

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

В противном случае, если в строке нет символа с кодом, большим, чем '\u0020', возвращается String объект, представляющий пустую строку.

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

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

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

toString

public String toString()

Возвращается сам этот объект (который уже является строкой!).

Указано:
toString в интерфейсе CharSequence
Переопределяет:
toString в классе Object
Возвращает:
сам строковый объект.

toCharArray

public char[] toCharArray()

Преобразует эту строку в новый массив символов.

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

format

public static String format(String format,
                            Object... args)

Возвращает отформатированную строку, используя указанную строку формата и аргументы.

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

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

format

public static String format(Locale l,
                            String format,
                            Object... args)

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

Параметры:
l — Язык, используемый во время форматирования. Если l равен null, локальные настройки не применяются.
format — строка формата
args — Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов может быть переменным и равным нулю. Максимальное количество аргументов ограничено максимальным размером массива в Java, как определено в Спецификации виртуальной машины Java. Поведение с аргументом null зависит от преобразования.
Возвращает:
Отформатированная строка
Исключения:
IllegalFormatException — Если строка формата содержит недопустимый синтаксис, спецификатор формата, несовместимый с заданными аргументами, недостаточное количество аргументов для строки формата или другие недопустимые условия. Для описания всех возможных ошибок форматирования см. раздел Детали спецификации класса formatter
С:
1.5
См. также:
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, если пул уже содержит строку, равную этому объекту строки, как определено методом equals(Object), то возвращается строка из пула. В противном случае, этот объект строки добавляется в пул, и возвращается ссылка на этот объект.

Следовательно, для любых двух строк s и t, s.intern() == t.intern() равно true, если и только если s.equals(t) равно true.

Все литералы строк и строковые константные выражения интернируются. Литералы строк определены в разделе 3.10.5 спецификации Спецификации языка Java.

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

© 1993, 2020, 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.

Spec-Zone.ru

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