Класс 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 предоставляет специальную поддержку оператора конкатенации строк ( + ) и преобразования других объектов в строки. Дополнительную информацию о конкатенации строк и преобразовании см. в Спецификации языка Java™.
Если не указано иное, передача null аргумента конструктору или методу в этом классе приведёт к исключению NullPointerException.
Строка String представляет собой строку в формате UTF-16, в котором дополнительные символы представлены парами суррогатов (см. раздел Представления символов Unicode в классе Character для получения дополнительной информации). Значения индексов относятся к кодовым единицам char, поэтому дополнительный символ занимает две позиции в String.
Класс String предоставляет методы для работы с кодовыми точками Unicode (т.е., символами), помимо методов для работы с кодовыми единицами Unicode (т.е., значениями char).
Если не указано иное, методы сравнения строк не учитывают локаль. Класс Collator предоставляет методы для более детального сравнения строк, учитывающих локаль.
- Замечание по реализации:
- Реализация оператора конкатенации строк остается на усмотрение компилятора Java, при условии, что компилятор в конечном итоге соответствует Спецификации языка Java™. Например, компилятор
javacможет реализовать оператор с помощьюStringBuffer,StringBuilder, илиjava.lang.invoke.StringConcatFactoryв зависимости от версии JDK. Реализация преобразования строк обычно осуществляется с помощью методаtoString, определенногоObjectи унаследованного всеми классами в Java. - С тех пор:
- 1.0
- См. также:
-
Object.toString(),StringBuffer,StringBuilder,Charset, Сериализованная форма
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static Comparator<String> | CASE_INSENSITIVE_ORDER | Компаратор, который упорядочивает объекты |
Конструкторы
| Конструктор | Описание |
|---|---|
String() | Инициализирует вновь созданный объект |
String(byte[] bytes) | Создает новый объект |
String(byte[] ascii,
int hibyte) | Устарело. Этот метод не правильно преобразует байты в символы. |
String(byte[] bytes,
int offset,
int length) | Создаёт новый объект |
String(byte[] ascii,
int hibyte,
int offset,
int count) | Устарело. Этот метод не правильно преобразует байты в символы. |
String(byte[] bytes,
int offset,
int length,
String charsetName) | Создает новый объект |
String(byte[] bytes,
int offset,
int length,
Charset charset) | Создает новый объект |
String(byte[] bytes,
String charsetName) | Создает новый объект |
String(byte[] bytes,
Charset charset) | Создает новый объект |
String(char[] value) | Выделяет новый объект |
String(char[] value,
int offset,
int count) | Выделяет новый объект |
String(int[] codePoints,
int offset,
int count) | Выделяет новый объект |
String(String original) | Инициализирует вновь созданный объект |
String(StringBuffer buffer) | Выделяет новую строку, содержащую последовательность символов, в настоящее время содержащихся в аргументе буфера строк. |
String(StringBuilder builder) | Выделяет новую строку, содержащую последовательность символов, в настоящее время содержащихся в аргументе билдера строк. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
char | charAt(int index) | Возвращает значение |
IntStream | chars() | Возвращает поток |
int | codePointAt(int index) | Возвращает символ (кодовую точку Юникода) по указанному индексу. |
int | codePointBefore(int index) | Возвращает символ (кодовую точку Юникода) перед указанным индексом. |
int | codePointCount(int beginIndex,
int endIndex) | Возвращает количество кодовых точек Юникода в указанном текстовом диапазоне этой |
IntStream | codePoints() | Возвращает поток значений кодовых точек из этой последовательности. |
int | compareTo(String anotherString) | Сравнивает две строки лексикографически. |
int | compareToIgnoreCase(String str) | Сравнивает две строки лексикографически, игнорируя различия в регистре. |
String | concat(String str) | Конкатенирует указанную строку в конец этой строки. |
boolean | contains(CharSequence s) | Возвращает true, если и только если эта строка содержит указанную последовательность значений char. |
boolean | contentEquals(CharSequence cs) | Сравнивает эту строку с указанным |
boolean | contentEquals(StringBuffer sb) | Сравнивает эту строку с указанным |
static String | copyValueOf(char[] data) | Эквивалентно |
static String | copyValueOf(char[] data,
int offset,
int count) | Эквивалентно |
boolean | endsWith(String suffix) | Проверяет, заканчивается ли эта строка указанным суффиксом. |
boolean | equals(Object anObject) | Сравнивает эту строку с указанным объектом. |
boolean | equalsIgnoreCase(String anotherString) | Сравнивает эту |
static String | format(String format,
Object... args) | Возвращает отформатированную строку, используя указанную строку формата и аргументы. |
static String | format(Locale l,
String format,
Object... args) | Возвращает отформатированную строку, используя указанный локали, строку формата и аргументы. |
byte[] | getBytes() | Кодирует эту |
void | getBytes(int srcBegin,
int srcEnd,
byte[] dst,
int dstBegin) | Устарело. Этот метод не корректно преобразует символы в байты. |
byte[] | getBytes(String charsetName) | Кодирует эту |
byte[] | getBytes(Charset charset) | Кодирует эту |
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 | isBlank() | Возвращает |
boolean | isEmpty() | Возвращает |
static String | join(CharSequence delimiter,
CharSequence... elements) | Возвращает новую строку, составленную из копий |
static String | join(CharSequence delimiter,
Iterable<? extends CharSequence> elements) | Возвращает новую |
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) | Возвращает индекс в этой |
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) | Возвращает строку, значение которой является конкатенацией этой строки, повторённой |
String | replace(char oldChar,
char 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) | Проверяет, начинается ли подстрока этой строки, начинающаяся с указанного индекса, с указанного префикса. |
String | strip() | Возвращает строку, значение которой равно этой строке, со всеми начальными и конечными |
|---|---|---|
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 | toLowerCase(Locale locale) | Преобразует все символы в этой |
String | toString() | Этот объект (который уже является строкой!) |
String | toUpperCase() | Преобразует все символы в этой |
String | toUpperCase(Locale locale) | Преобразует все символы в этой |
String | trim() | Возвращает строку, значение которой равно этой строке, со всеми начальными и конечными пробелами удалёнными, где пробел определяется как любой символ, код которого меньше или равен |
static String | valueOf(boolean b) | Возвращает строковое представление аргумента |
static String | valueOf(char c) | Возвращает строковое представление аргумента |
static String | valueOf(char[] data) | Возвращает строковое представление аргумента |
static String | valueOf(char[] data,
int offset,
int count) | Возвращает строковое представление определённого подмассива аргумента |
static String | valueOf(double d) | Возвращает строковое представление аргумента |
static String | valueOf(float f) | Возвращает строковое представление аргумента |
static String | valueOf(int i) | Возвращает строковое представление аргумента |
static String | valueOf(long l) | Возвращает строковое представление аргумента |
static String | valueOf(Object obj) | Возвращает строковое представление аргумента |
Методы, объявленные в классе 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 обеспечивает сравнение, учитывающее локаль.
- Since:
- 1.2
- See Also:
Collator
Конструкторы
String
public String()
Инициализирует новый объект String, чтобы он представлял пустую последовательность символов. Обратите внимание, что использование этого конструктора не требуется, так как строки неизменяемы.
String
public String(String original)
Инициализирует новый объект String, чтобы он представлял ту же последовательность символов, что и аргумент; другими словами, новая строка является копией аргументной строки. Если явная копия original не требуется, использование этого конструктора не нужно, так как строки неизменяемы.
- Параметры:
-
original- AString
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) 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) 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 следует использовать, когда требуется больший контроль над процессом декодирования.
- Параметры:
-
bytes- Байты, которые необходимо декодировать в символы -
charsetName- Имя поддерживаемого набора символов - Исключения:
-
UnsupportedEncodingException- Если указанный набор символов не поддерживается - С:
- 1.1
String
public String(byte[] bytes,
Charset charset) Конструирует новый String, декодируя указанный массив байтов с использованием указанного набора символов. Длина нового String является функцией набора символов и, следовательно, может не совпадать с длиной массива байтов.
Этот метод всегда заменяет некорректные входные данные и неотображаемые символы строкой замены по умолчанию для данного набора символов. Класс CharsetDecoder следует использовать, когда требуется больший контроль над процессом декодирования.
- Параметры:
-
bytes- Байты, которые необходимо декодировать в символы -
charset- Набор символов, используемый для декодированияbytes - С:
- 1.6
String
public String(byte[] bytes,
int offset,
int length) Создаёт новую строку String, декодируя указанный подмассив байтов с помощью кодировки по умолчанию платформы. Длина новой строки String зависит от кодировки и, следовательно, может не совпадать с длиной подмассива.
Поведение этого конструктора, когда заданные байты не являются допустимыми в кодировке по умолчанию, не определено. Для большего контроля над процессом декодирования следует использовать класс CharsetDecoder.
- Параметры:
-
bytes- Байты, которые нужно декодировать в символы -
offset- Индекс первого байта для декодирования -
length- Количество байтов для декодирования - Исключение:
-
IndexOutOfBoundsException- Еслиoffsetотрицательно,lengthотрицательно илиoffsetбольше, чемbytes.length - length - С:
- 1.1
String
public String(byte[] bytes)
Создаёт новую строку String, декодируя указанный массив байтов с помощью кодировки по умолчанию платформы. Длина новой строки
String зависит от кодировки и, следовательно, может не совпадать с длиной массива байтов.
Поведение этого конструктора, когда заданные байты не являются допустимыми в кодировке по умолчанию, не определено. Для большего контроля над процессом декодирования следует использовать класс CharsetDecoder.
- Параметры:
-
bytes- Байты, которые нужно декодировать в символы - С:
- 1.1
String
public String(StringBuffer buffer)
Выделяет новую строку, содержащую последовательность символов, текущих в аргументе буфера строк. Содержимое буфера строк копируется; последующее изменение буфера строк не влияет на только что созданную строку.
- Параметры:
-
buffer- Буфер строкStringBuffer
String
public String(StringBuilder builder)
Выделяет новую строку, содержащую последовательность символов, текущих в аргументе билдера строк. Содержимое билдера строк копируется; последующее изменение билдера строк не влияет на только что созданную строку.
Этот конструктор предоставлен для облегчения миграции к
StringBuilder. Получение строки из билдера строк с помощью метода
toString вероятно будет работать быстрее и обычно предпочтительнее.
- Параметры:
-
builder- Билдер строкStringBuilder - С:
- 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)
Возвращает значение char по указанному индексу. Индекс изменяется от 0 до length() - 1. Первое значение char последовательности находится по индексу 0, следующее — по индексу 1, и так далее, как и при индексировании массивов.
Если значение char по указанному индексу является замещающим символом, возвращается значение замещающего символа.
- Определено в:
-
charAtв интерфейсеCharSequence - Параметры:
-
index- индекс значенияchar. - Возвращает:
- значение
charпо указанному индексу этой строки. Первое значениеcharнаходится по индексу0. - Выбрасывает:
-
IndexOutOfBoundsException- если аргументindexотрицателен или не меньше длины этой строки.
codePointAt
public int codePointAt(int index)
Возвращает символ (точку кода Юникода) по указанному индексу. Индекс относится к значениям char (единицам кода Юникода) и изменяется от 0 до length() - 1.
Если значение char по указанному индексу находится в диапазоне высоких замещающих символов, последующий индекс меньше длины этой String, и значение char по следующему индексу находится в диапазоне низких замещающих символов, возвращается дополнительная точка кода, соответствующая этой паре замещающих символов. В противном случае возвращается значение char по указанному индексу.
- Параметры:
-
index- индекс к значениямchar - Возвращает:
- значение точки кода символа по указанному
index - Выбрасывает:
-
IndexOutOfBoundsException- если аргументindexотрицателен или не меньше длины этой строки. - С:
- 1.5
codePointBefore
public int codePointBefore(int index)
Возвращает символ (точку кода Юникода) перед указанным индексом. Индекс относится к значениям char (единицам кода Юникода) и изменяется от 1 до length.
Если значение char по (index - 1) находится в диапазоне низких замещающих символов, (index - 2) не отрицательно, и значение char по (index -
2) находится в диапазоне высоких замещающих символов, возвращается дополнительное значение точки кода пары замещающих символов. Если значение char по index -
1 является непарным низким замещающим символом или высоким замещающим символом, возвращается значение замещающего символа.
- Параметры:
-
index- индекс, следующий за точкой кода, которая должна быть возвращена - Возвращает:
- значение точки кода Юникода перед заданным индексом.
- Выбрасывает:
-
IndexOutOfBoundsException- если аргументindexменьше 1 или больше длины этой строки. - С:
- 1.5
codePointCount
public int codePointCount(int beginIndex,
int endIndex) Возвращает количество точек кода Юникода в заданном текстовом диапазоне этой String. Текстовый диапазон начинается по указанному beginIndex и простирается до char по индексу endIndex - 1. Таким образом, длина (в chars) текстового диапазона составляет endIndex-beginIndex. Непарные замещающие символы в текстовом диапазоне считаются по одной точке кода каждый.
- Параметры:
-
beginIndex- индекс первогоcharтекстового диапазона. -
endIndex- индекс после последнегоcharтекстового диапазона. - Возвращает:
- количество точек кода Юникода в заданном текстовом диапазоне
- Выбрасывает:
-
IndexOutOfBoundsException- еслиbeginIndexотрицательно, илиendIndexбольше длины этойString, илиbeginIndexбольшеendIndex. - С:
- 1.5
offsetByCodePoints
public int offsetByCodePoints(int index,
int codePointOffset) Возвращает индекс в этой String, который смещен от данного index на codePointOffset точек кода. Непарные замещающие символы в текстовом диапазоне, заданном index и codePointOffset, считаются по одной точке кода каждый.
- Параметры:
-
index- индекс, который нужно сместить -
codePointOffset- смещение в точках кода - Возвращает:
- индекс в этой
String - Выбрасывает:
-
IndexOutOfBoundsException- еслиindexотрицательно или больше длины этойString, или еслиcodePointOffsetположительно, и подстрока, начинающаяся сindex, содержит меньшеcodePointOffsetточек кода, или еслиcodePointOffsetотрицательно, и подстрока передindexсодержит меньше абсолютного значенияcodePointOffsetточек кода. - С:
- 1.5
getChars
public void getChars(int srcBegin,
int srcEnd,
char[] dst,
int dstBegin) Копирует символы из этой строки в целевой массив символов.
Первый копируемый символ находится по индексу srcBegin; последний копируемый символ находится по индексу srcEnd-1 (следовательно, общее количество копируемых символов составляет srcEnd-srcBegin). Символы копируются в подмассив dst, начиная с индекса dstBegin и заканчивая индексом:
dstBegin + (srcEnd-srcBegin) - 1
- Параметры:
-
srcBegin- индекс первого символа в строке для копирования. -
srcEnd- индекс после последнего символа в строке для копирования. -
dst- целевой массив. -
dstBegin- начальный смещение в целевом массиве. - Выбрасывает:
-
IndexOutOfBoundsException- Если выполняется любое из следующих условий:-
srcBeginотрицательно. -
srcBeginбольшеsrcEnd -
srcEndбольше длины этой строки -
dstBeginотрицательно -
dstBegin+(srcEnd-srcBegin)большеdst.length
-
getBytes
@Deprecated(since="1.1")
public void getBytes(int srcBegin,
int srcEnd,
byte[] dst,
int dstBegin) getBytes(), который использует системную кодировку по умолчанию.Копирует символы из этой строки в целевой массив байтов. Каждый байт получает 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 Кодирует эту String в последовательность байтов, используя указанную кодировку, и сохраняет результат в новый массив байтов.
Поведение этого метода, когда данная строка не может быть закодирована в указанной кодировке, не определено. Класс CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования.
- Параметры:
-
charsetName- Имя поддерживаемой кодировки - Возвращает:
- Результирующий массив байтов
- Выбрасывает:
-
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С:
- 1.1
getBytes
public byte[] getBytes(Charset charset)
Кодирует эту String в последовательность байтов, используя заданную кодировку, и сохраняет результат в новый массив байтов.
Этот метод всегда заменяет некорректные входные данные и неотображаемые последовательности символов стандартным массивом замены этой кодировки. Класс CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования.
- Параметры:
-
charset- Кодировка для кодированияString - Возвращает:
- Результирующий массив байтов
- С:
- 1.6
getBytes
public byte[] getBytes()
Кодирует эту String в последовательность байтов, используя стандартную кодировку платформы, сохраняя результат в новый массив байтов.
Поведение этого метода, когда данная строка не может быть закодирована в стандартной кодировке платформы, не определено. Класс CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования.
- Возвращает:
- Полученный массив байтов
- С:
- 1.1
equals
public boolean equals(Object anObject)
Сравнивает эту строку с указанным объектом. Результатом является
true тогда и только тогда, когда аргумент не null и является объектом типа
String, представляющим ту же последовательность символов, что и этот объект.
Для более точного сравнения строк обратитесь к Collator.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
anObject- Объект для сравнения с этойString - Возвращает:
-
trueесли заданный объект представляет строку, эквивалентную этой строке;falseв противном случае - См. также:
-
compareTo(String),equalsIgnoreCase(String)
contentEquals
public boolean contentEquals(StringBuffer sb)
Сравнивает эту строку с указанным StringBuffer. Результатом является true тогда и только тогда, когда эта String представляет ту же последовательность символов, что и указанный StringBuffer. Этот метод синхронизируется на StringBuffer.
Для более точного сравнения строк обратитесь к Collator.
- Параметры:
-
sb-StringBufferдля сравнения с этойString - Возвращает:
-
trueесли этаStringпредставляет ту же последовательность символов, что и указанныйStringBuffer,falseв противном случае - С:
- 1.4
contentEquals
public boolean contentEquals(CharSequence cs)
Сравнивает эту строку с указанной CharSequence. Результатом является true тогда и только тогда, когда эта String представляет ту же последовательность значений типа char, что и указанная последовательность. Обратите внимание, что если CharSequence является StringBuffer, то метод синхронизируется на нём.
Для более точного сравнения строк обратитесь к Collator.
- Параметры:
-
cs- Последовательность для сравнения с этойString - Возвращает:
-
trueесли этаStringпредставляет ту же последовательность значений типа char, что и указанная последовательность;falseв противном случае - С:
- 1.5
equalsIgnoreCase
public boolean equalsIgnoreCase(String anotherString)
Сравнивает эту String с другой String, игнорируя регистр. Две строки считаются равными, игнорируя регистр, если они имеют одинаковую длину и соответствующие символы в двух строках равны, игнорируя регистр.
Два символа c1 и c2 считаются одинаковыми, игнорируя регистр, если выполняется хотя бы одно из следующих условий:
- Два символа одинаковы (как сравниваются оператором
==) - Вызов
Character.toLowerCase(Character.toUpperCase(char))для каждого символа даёт один и тот же результат
Обратите внимание, что этот метод не учитывает локаль и может дать неудовлетворительные результаты для некоторых локалей. Класс Collator обеспечивает сравнение, чувствительное к локали.
- Параметры:
-
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()
Для более точного сравнения строк обратитесь к Collator.
- Определено в:
-
compareToв интерфейсеComparable<String> - Параметры:
-
anotherString-Stringдля сравнения. - Возвращает:
- значение
0если строка-аргумент равна этой строке; значение меньше0, если эта строка лексикографически меньше строки-аргумента; и значение больше0, если эта строка лексикографически больше строки-аргумента.
compareToIgnoreCase
public int compareToIgnoreCase(String str)
Сравнивает две строки лексикографически, игнорируя различия в регистре. Этот метод возвращает целое число, знак которого соответствует вызову compareTo с нормализованными версиями строк, где различия в регистре устранены вызовом Character.toLowerCase(Character.toUpperCase(character)) для каждого символа.
Обратите внимание, что этот метод не учитывает локаль и может привести к неудовлетворительному порядку для некоторых локалей. Класс Collator обеспечивает сравнение, чувствительное к локали.
- Параметры:
-
str-Stringдля сравнения. - Возвращает:
- отрицательное целое число, ноль или положительное целое число, как указанная строка больше, равна или меньше этой строки, с игнорированием различий в регистре.
- С:
- 1.2
- См. также:
Collator
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 обеспечивает сравнение, чувствительное к локали.
- Параметры:
-
toffset- начальный смещение подстроки в этой строке. -
other- строковый аргумент. -
ooffset- начальный смещение подстроки в строковом аргументе. -
len- количество символов для сравнения. - Возвращает:
-
trueесли указанная подстрока этой строки точно совпадает с указанной подстрокой строки-аргумента;falseв противном случае.
regionMatches
public boolean regionMatches(boolean ignoreCase,
int toffset,
String other,
int ooffset,
int len) Проверяет, равны ли две строковые области.
Подстрока этого String объекта сравнивается с подстрокой аргумента other. Результат — true если эти подстроки представляют собой одинаковые последовательности символов, игнорируя регистр, если и только если ignoreCase имеет значение true. Подстрока этого String объекта, подлежащая сравнению, начинается с индекса toffset и имеет длину len. Подстрока other объекта, подлежащая сравнению, начинается с индекса ooffset и имеет длину len. Результат — false тогда и только тогда, когда выполняется хотя бы одно из следующих условий:
-
toffsetотрицательно. -
ooffsetотрицательно. -
toffset+lenбольше длины этогоStringобъекта. -
ooffset+lenбольше длины другого аргумента. -
ignoreCaseимеет значениеfalseи существует некоторое неотрицательное целое число k, меньшееlen, такое что:this.charAt(toffset+k) != other.charAt(ooffset+k)
-
ignoreCaseимеет значениеtrueи существует некоторое неотрицательное целое число k, меньшееlen, такое что:Character.toLowerCase(Character.toUpperCase(this.charAt(toffset+k))) != Character.toLowerCase(Character.toUpperCase(other.charAt(ooffset+k)))
Обратите внимание, что этот метод не учитывает локаль и может привести к неудовлетворительным результатам для определённых локалей, когда ignoreCase имеет значение true. Класс Collator обеспечивает сравнение, учитывающее локаль.
- Параметры:
-
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имеет значение true. Для других значений
ch, это наименьшее значение k, для которого: this.codePointAt(k) == chимеет значение true. В любом случае, если такой символ не встречается в этой строке, возвращается
-1. - Параметры:
-
ch- символ (код Юникода). - Возвращает:
- индекс первого вхождения символа в последовательности символов, представленной этим объектом, или
-1если символ не встречается.
indexOf
public int indexOf(int ch,
int fromIndex) Возвращает индекс в этой строке первого вхождения указанного символа, начиная поиск с указанного индекса.
Если символ со значением ch встречается в последовательности символов, представленной этим String объектом в индексе не меньше fromIndex, то возвращается индекс первого такого вхождения. Для значений ch в диапазоне от 0 до 0xFFFF (включительно) это наименьшее значение k, для которого:
(this.charAt(k) == ch) && (k >= fromIndex)имеет значение true. Для других значений
ch, это наименьшее значение k, для которого: (this.codePointAt(k) == ch) && (k >= fromIndex)имеет значение true. В любом случае, если такой символ не встречается в этой строке после позиции
fromIndex, то возвращается -1. Значение fromIndex может быть любым. Если оно отрицательно, это эквивалентно нулю: может быть произведён поиск по всей строке. Если оно больше длины этой строки, это эквивалентно равенству длине этой строки: возвращается -1.
Все индексы указаны в значениях char (единицы кода Юникода).
- Параметры:
-
ch- символ (код Юникода). -
fromIndex- индекс, с которого начинать поиск. - Возвращает:
- индекс первого вхождения символа в последовательности символов, представленной этим объектом, больше или равного
fromIndex, или-1если символ не встречается.
lastIndexOf
public int lastIndexOf(int ch)
Возвращает индекс в этой строке последнего вхождения указанного символа. Для значений ch в диапазоне от 0 до 0xFFFF (включительно) возвращаемый индекс (в единицах кода Юникода) — это наибольшее значение k, для которого:
this.charAt(k) == chимеет значение true. Для других значений
ch, это наибольшее значение k, для которого: this.codePointAt(k) == chимеет значение true. В любом случае, если такой символ не встречается в этой строке, то возвращается
-1. Поиск ведётся по String в обратном порядке, начиная с последнего символа. - Параметры:
-
ch- символ (код Юникода). - Возвращает:
- индекс последнего вхождения символа в последовательности символов, представленной этим объектом, или
-1если символ не встречается.
lastIndexOf
public int lastIndexOf(int ch,
int fromIndex) Возвращает индекс в этой строке последнего вхождения указанного символа, выполняя поиск в обратном порядке, начиная с указанного индекса. Для значений ch в диапазоне от 0 до 0xFFFF (включительно) возвращаемый индекс — это наибольшее значение k, для которого:
(this.charAt(k) == ch) && (k <= fromIndex)имеет значение true. Для других значений
ch, это наибольшее значение k, для которого: (this.codePointAt(k) == ch) && (k <= fromIndex)имеет значение true. В любом случае, если такой символ не встречается в этой строке на или до позиции
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, если и только если эта строка содержит указанную последовательность символов.
- Параметры:
-
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- Последовательность символов, которые нужно заменить -
replacement- Последовательность символов-заменителей - Возвращает:
- Результат в виде строки
- С версии:
- 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 с данным выражением и аргументом предела 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- элементы для объединения. - Возвращает:
- новую строку, состоящую из
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-Iterable, элементы которого будут объединены. - Возвращает:
- новую строку, составленную из
elementsаргумента - Исключение:
-
NullPointerException- Еслиdelimiterилиelementsявляетсяnull - С версии:
- 1.8
- См. также:
-
join(CharSequence,CharSequence...),StringJoiner
toLowerCase
public String toLowerCase(Locale locale)
Преобразует все символы в этой String в строчные буквы, используя правила заданного Locale. Преобразование регистра основано на версии стандарта Юникод, указанной классом Character. Поскольку преобразование регистра не всегда является взаимно-однозначным отображением символов, результирующая String может иметь другую длину, чем исходная String.
Примеры преобразования в строчные буквы приведены в следующей таблице:
| Код языка локали | Прописные | Строчные | Описание |
|---|---|---|---|
| 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' — символ строчной латинской буквы i без точки. Чтобы получить правильные результаты для строк, не зависящих от локали, используйте toLowerCase(Locale.ROOT).
- Возвращает:
- строку, преобразованную в нижний регистр.
- См. также:
toLowerCase(Locale)
toUpperCase
public String toUpperCase(Locale locale)
Преобразует все символы в этой String в заглавные буквы, используя правила заданной Locale. Преобразование регистра основано на версии стандарта Юникод, указанной классом Character. Поскольку преобразование регистра не всегда является взаимно-однозначным отображением символов, результирующая String может иметь другую длину, чем исходная String.
Примеры локали-зависимого и многозначного преобразования регистра представлены в следующей таблице.
| Код языка локали | Строчные | Заглавные | Описание |
|---|---|---|---|
| tr (турецкий) | \u0069 | \u0130 | строчная буква i -> заглавная буква I с точкой сверху |
| tr (турецкий) | \u0131 | \u0049 | строчная буква без точки i -> заглавная буква I |
| (все) | \u00df | \u0053 \u0053 | строчная буква острая 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()
Возвращает строку, значением которой является эта строка, со всеми начальными и конечными white space удалёнными.
Если этот String объект представляет пустую строку, или если все коды символов в этой строке являются white space, то возвращается пустая строка.
В противном случае, возвращается подстрока этой строки, начинающаяся с первого кода символа, который не является white space, до и включая последний код символа, который не является white space.
Этот метод можно использовать для удаления white space с начала и конца строки.
- Возвращает:
- строку, значением которой является эта строка, со всеми начальными и конечными пробелами удалёнными
- С тех пор:
- 11
- См. также:
Character.isWhitespace(int)
stripLeading
public String stripLeading()
Возвращает строку, значением которой является эта строка, со всеми начальными white space удалёнными.
Если этот String объект представляет пустую строку, или если все коды символов в этой строке являются white space, то возвращается пустая строка.
В противном случае, возвращается подстрока этой строки, начинающаяся с первого кода символа, который не является white space до и включая последний код символа этой строки.
Этот метод можно использовать для удаления white space с начала строки.
- Возвращает:
- строку, значением которой является эта строка, со всеми начальными пробелами удалёнными
- С тех пор:
- 11
- См. также:
Character.isWhitespace(int)
stripTrailing
public String stripTrailing()
Возвращает строку, значением которой является эта строка, со всеми конечными white space удалёнными.
Если этот String объект представляет пустую строку, или если все символы в этой строке являются white space, то возвращается пустая строка.
В противном случае, возвращается подстрока этой строки, начинающаяся с первого кода символа этой строки до и включая последний код символа, который не является white space.
Этот метод можно использовать для удаления white space с конца строки.
- Возвращает:
- строку, значением которой является эта строка, со всеми конечными пробелами удалёнными
- С тех пор:
- 11
- См. также:
Character.isWhitespace(int)
isBlank
public boolean isBlank()
Возвращает true, если строка пуста или содержит только white space кодовые точки, в противном случае false.
- Возвращает:
-
true, если строка пуста или содержит толькоwhite spaceкодовые точки, в противном случае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
toString
public String toString()
Возвращается этот объект (который уже является строкой!).
- Определено в:
-
toStringв интерфейсеCharSequence - Переопределяет:
-
toStringв классеObject - Возвращает:
- саму строку.
chars
public IntStream chars()
Возвращает поток int нулевого расширения значений char из этой последовательности. Любой символ, который сопоставляется с замещающим кодом символа, передаётся без интерпретации.
- Определено в:
-
charsв интерфейсеCharSequence - Возвращает:
- поток значений IntStream типа char из этой последовательности
- С тех пор:
- 9
codePoints
public IntStream codePoints()
Возвращает поток значений кода символов из этой последовательности. Любые пары замещения, встречающиеся в последовательности, объединяются так, как будто они Character.toCodePoint, и результат передаётся в поток. Любые другие единицы кода, включая обычные символы BMP, непарные замещения и неопределённые единицы кода, расширяются до нуля до int значений, которые затем передаются в поток.
- Определено в:
-
codePointsв интерфейсеCharSequence - Возвращает:
- поток IntStream значений кодов Unicode из этой последовательности
- С тех пор:
- 9
toCharArray
public char[] toCharArray()
Преобразует эту строку в новый массив символов.
- Возвращает:
- новый выделенный массив символов, длина которого равна длине этой строки, и содержимое которого инициализировано для хранения последовательности символов, представленной этой строкой.
format
public static String format(String format,
Object... args) Возвращает отформатированную строку, используя указанную строку формата и аргументы.
Используемая локаль всегда является локалью, возвращаемой Locale.getDefault(Locale.Category) с указанной категорией FORMAT.
- Параметры:
-
format- строка формата -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, дополнительные аргументы игнорируются. Количество аргументов является переменным и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение дляnullаргумента зависит от преобразования. - Возвращает:
- Отформатированная строка
- Выбрасывает:
-
IllegalFormatException- Если строка формата содержит неправильный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для заданной строки формата или другие неверные условия. Для спецификации всех возможных ошибок форматирования см. раздел «Подробности» в спецификации класса форматировщика. - С тех пор:
- 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, если в пуле уже есть строка, равная этому объекту строки String (как определено методом equals(Object)), то возвращается строка из пула. В противном случае этот объект строки String добавляется в пул, и возвращается ссылка на этот объект строки String.
Следовательно, для любых двух строк s и t, s.intern() == t.intern() равна true тогда и только тогда, когда s.equals(t) равна true.
Все литеральные строки и строковые константные выражения помещаются в пул.
- Возвращает:
- строку, содержащую те же данные, что и эта строка, но гарантированно из пула уникальных строк.
repeat
public String repeat(int count)
Возвращает строку, значение которой — результат конкатенации этой строки, повторяемой count раз.
Если эта строка пуста или счетчик равен нулю, возвращается пустая строка.
- Параметры:
-
count- число повторений - Возвращает:
- Строка, составленная из этой строки, повторяемой
countраз, или пустая строка, если исходная строка пуста или счетчик равен нулю - Исключения:
-
IllegalArgumentException- еслиcountотрицательно. - С:
- 11
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html