Spec-Zone.ru › OpenJDK 8

Класс MessageFormat

  • java.lang.Object
    • java.text.Format
      • java.text.MessageFormat
Все реализованные интерфейсы:
Serializable, Cloneable

public class MessageFormat
extends Format

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

MessageFormat принимает набор объектов, форматирует их, а затем вставляет отформатированные строки в шаблон в соответствующих местах.

Примечание: MessageFormat отличается от других Format классов тем, что вы создаете объект MessageFormat с помощью одного из его конструкторов (а не с помощью фабричного метода в стиле getInstance). Фабричные методы не нужны, потому что сам MessageFormat не реализует поведение, зависящее от локали. Любое поведение, зависящее от локали, определяется шаблоном, который вы предоставляете, а также подформатами, используемыми для вставленных аргументов.

Шаблоны и их интерпретация

MessageFormat использует шаблоны следующей формы:
MessageFormatPattern:
        String
        MessageFormatPattern FormatElement String

FormatElement:
        { ArgumentIndex }
        { ArgumentIndex , FormatType }
        { ArgumentIndex , FormatType , FormatStyle }

FormatType: one of
        number date time choice

FormatStyle:
        short
        medium
        long
        full
        integer
        currency
        percent
        SubformatPattern

Внутри строки пара одинарных кавычек может использоваться для цитирования произвольных символов, кроме одинарных кавычек. Например, строка шаблона "'{0}'" представляет строку "{0}", а не элемент формата. Сама одинарная кавычка должна быть представлена двойными одинарными кавычками '' в течение всей строки. Например, строка шаблона "'{''}'" интерпретируется как последовательность '{ (начало цитирования и левая фигурная скобка), '' (одинарная кавычка) и }' (правая фигурная скобка и конец цитирования), а не '{' и '}' (цитируемые левая и правая фигурные скобки): представляющие строку "{'}", а не "{}".

Подшаблон интерпретируется соответствующим подформатом, и применяются правила шаблона, зависящие от подформата. Например, строка шаблона "{1,number,$'#',##}" (Подшаблон с подчеркиванием) создаст формат числа с процитированным знаком фунта, с результатом, таким как: "$#31,45". Обратитесь к документации каждого класса Format для получения подробной информации.

Любая несовпадающая кавычка обрабатывается как закрытая в конце данного шаблона. Например, строка шаблона "'{0}" обрабатывается как шаблон "'{0}'".

Любые фигурные скобки внутри нецитируемого шаблона должны быть сбалансированы. Например, "ab {0} de" и "ab '}' de" являются допустимыми шаблонами, но "ab {0'}' de", "ab } de" и "''{''" не являются.

Предупреждение:
Правила использования кавычек в шаблонах формата сообщений, к сожалению, оказались несколько запутанными. В частности, не всегда очевидно локализаторам, нужно ли удваивать одинарные кавычки или нет. Убедитесь, что вы информируете локализаторов о правилах и сообщите им (например, с помощью комментариев в исходных файлах ресурсов), какие строки будут обрабатываться MessageFormat. Обратите внимание, что локализаторам может потребоваться использовать одинарные кавычки в переведенных строках, где оригинальная версия их не имеет.

Значение ИндексАргумента — это целое неотрицательное число, записанное с помощью цифр '0' по '9', и оно представляет собой индекс в массиве arguments , переданном методам format или массив результата, возвращаемый методами parse.

Значения ТипФормата и СтильФормата используются для создания экземпляра Format для элемента формата. В следующей таблице показано, как значения сопоставляются с экземплярами Format. Комбинации, не представленные в таблице, недопустимы. Подшаблон должен быть допустимой строкой шаблона для класса Format используемого.

ТипФормата СтильФормата СозданныйПодформат
(нет) (нет) null
number (нет) NumberFormat.getInstance(getLocale())
integer NumberFormat.getIntegerInstance(getLocale())
currency NumberFormat.getCurrencyInstance(getLocale())
percent NumberFormat.getPercentInstance(getLocale())
Подшаблон new DecimalFormat(subformatPattern, DecimalFormatSymbols.getInstance(getLocale()))
date (нет) DateFormat.getDateInstance(DateFormat.DEFAULT, getLocale())
short DateFormat.getDateInstance(DateFormat.SHORT, getLocale())

Информация об использовании

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

Первый пример использует статический метод MessageFormat.format, который внутри создает MessageFormat для одноразового использования:

int planet = 7;
String event = "a disturbance in the Force";

String result = MessageFormat.format(
    "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
    planet, new Date(), event);
Вывод:
At 12:30 PM on Jul 3, 2053, there was a disturbance in the Force on planet 7.

Следующий пример создает экземпляр MessageFormat , который можно использовать многократно:

int fileCount = 1273;
String diskName = "MyDisk";
Object[] testArgs = {new Long(fileCount), diskName};

MessageFormat form = new MessageFormat(
    "The disk \"{1}\" contains {0} file(s).");

System.out.println(form.format(testArgs));
Вывод с разными значениями для fileCount:
The disk "MyDisk" contains 0 file(s).
The disk "MyDisk" contains 1 file(s).
The disk "MyDisk" contains 1,273 file(s).

Для более сложных шаблонов вы можете использовать ChoiceFormat для создания правильных форм для единственного и множественного числа:

MessageFormat form = new MessageFormat("The disk \"{1}\" contains {0}.");
double[] filelimits = {0,1,2};
String[] filepart = {"no files","one file","{0,number} files"};
ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
form.setFormatByArgumentIndex(0, fileform);

int fileCount = 1273;
String diskName = "MyDisk";
Object[] testArgs = {new Long(fileCount), diskName};

System.out.println(form.format(testArgs));
Вывод с разными значениями для fileCount:
The disk "MyDisk" contains no files.
The disk "MyDisk" contains one file.
The disk "MyDisk" contains 1,273 files.

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

form.applyPattern(
   "There {0,choice,0#are no files|1#is one file|1<are {0,number,integer} files}.");

Примечание: Как мы видим выше, строка, созданная ChoiceFormat в MessageFormat , обрабатывается как специальная; случаи '{' используются для обозначения подформатов и вызывают рекурсию. Если вы создаете как MessageFormat , так и ChoiceFormat программно (вместо использования строчных шаблонов), будьте осторожны, чтобы не создать формат, который вызовет рекурсию на самом себе, что приведет к бесконечной петле.

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

MessageFormat mf = new MessageFormat("{0,number,#.##}, {0,number,#.#}");
Object[] objs = {new Double(3.1415)};
String result = mf.format( objs );
// result now equals "3.14, 3.1"
objs = null;
objs = mf.parse(result, new ParsePosition(0));
// objs now equals {new Double(3.1)}

Точно так же анализ с объектом MessageFormat с использованием шаблонов, содержащих несколько вхождений одного и того же аргумента, вернет последнюю совпавшую. Например,

MessageFormat mf = new MessageFormat("{0}, {0}, {0}");
String forParsing = "x, y, z";
Object[] objs = mf.parse(forParsing, new ParsePosition(0));
// result now equals {new String("z")}

Синхронизация

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

См. также:
Locale, Format, NumberFormat, DecimalFormat, DecimalFormatSymbols, ChoiceFormat, DateFormat, SimpleDateFormat, Форматированная форма

Вложенные классы

Модификатор и тип Класс и описание
static class  MessageFormat.Field

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

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

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

Создаёт MessageFormat для локали по умолчанию FORMAT и указанного шаблона.

MessageFormat(String pattern, Locale locale)

Создаёт MessageFormat для указанной локали и шаблона.

Методы

Модификатор и тип Метод и описание
void applyPattern(String pattern)

Устанавливает шаблон, используемый этим форматом сообщений.

Object clone()

Создаёт и возвращает копию этого объекта.

boolean equals(Object obj)

Сравнение на равенство двух объектов формата сообщений

StringBuffer format(Object[] arguments, StringBuffer result, FieldPosition pos)

Форматирует массив объектов и добавляет шаблон MessageFormat, с элементами форматирования, заменёнными отформатированными объектами, в предоставленный StringBuffer.

StringBuffer format(Object arguments, StringBuffer result, FieldPosition pos)

Форматирует массив объектов и добавляет шаблон MessageFormat, с элементами форматирования, заменёнными отформатированными объектами, в предоставленный StringBuffer.

static String format(String pattern, Object... arguments)

Создаёт MessageFormat с заданным шаблоном и использует его для форматирования заданных аргументов.

AttributedCharacterIterator formatToCharacterIterator(Object arguments)

Форматирует массив объектов и вставляет их в шаблон MessageFormat, создавая AttributedCharacterIterator.

Format[] getFormats()

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

Format[] getFormatsByArgumentIndex()

Получает форматы, используемые для значений, передаваемых в методы format или возвращаемых методами parse.

Locale getLocale()

Получает локаль, используемую при создании или сравнении подформатов.

int hashCode()

Генерирует код хэша для объекта формата сообщений.

Object[] parse(String source)

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

Object[] parse(String source, ParsePosition pos)

Парсит строку.

Object parseObject(String source, ParsePosition pos)

Парсит текст из строки, чтобы получить массив объектов.

void setFormat(int formatElementIndex, Format newFormat)

Устанавливает формат для использования с элементом форматирования с заданным индексом элемента форматирования в ранее установленной строке шаблона.

void setFormatByArgumentIndex(int argumentIndex, Format newFormat)

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

void setFormats(Format[] newFormats)

Устанавливает форматы для использования с элементами форматирования в ранее заданной строке шаблона.

void setFormatsByArgumentIndex(Format[] newFormats)

Устанавливает форматы для использования со значениями, передаваемыми в методы format или возвращаемыми методами parse.

void setLocale(Locale locale)

Устанавливает локаль, используемую при создании или сравнении подформатов.

String toPattern()

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

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

format, parseObject

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

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

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

MessageFormat

public MessageFormat(String pattern)

Создаёт MessageFormat для локали по умолчанию FORMAT и указанного шаблона. Конструктор сначала задаёт локаль, затем анализирует шаблон и создаёт список подформатов для элементов форматирования, содержащихся в нём. Шаблоны и их интерпретация описаны в описании класса.

Параметры:
pattern - шаблон для этого формата сообщений
Исключения:
IllegalArgumentException - если шаблон некорректен

MessageFormat

public MessageFormat(String pattern,
                     Locale locale)

Создаёт MessageFormat для указанной локали и шаблона. Конструктор сначала задаёт локаль, затем анализирует шаблон и создаёт список подформатов для элементов форматирования, содержащихся в нём. Шаблоны и их интерпретация описаны в описании класса.

Параметры:
pattern - шаблон для этого формата сообщений
locale - локаль для этого формата сообщений
Исключения:
IllegalArgumentException - если шаблон некорректен
С:
1.4

Методы

setLocale

public void setLocale(Locale locale)

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

  • методов applyPattern и toPattern, если элементы форматирования указывают тип формата и, следовательно, подформаты создаются в методе applyPattern, а также
  • методов format и formatToCharacterIterator, если элементы форматирования не указывают тип формата и, следовательно, подформаты создаются в методах форматирования.
Уже созданные подформаты не затрагиваются.

Параметры:
locale - локаль, используемая при создании или сравнении подформатов

getLocale

public Locale getLocale()

Получает локаль, используемую при создании или сравнении подформатов.

Возвращает:
используемая локаль при создании или сравнении подформатов

applyPattern

public void applyPattern(String pattern)

Устанавливает шаблон, используемый этим форматом сообщений. Метод анализирует шаблон и создаёт список подформатов для элементов форматирования, содержащихся в нём. Шаблоны и их интерпретация описаны в описании класса.

Параметры:
pattern - шаблон для этого формата сообщений
Исключения:
IllegalArgumentException - если шаблон некорректен

toPattern

public String toPattern()

Возвращает шаблон, представляющий текущее состояние формата сообщений. Строка создаётся из внутренней информации и, следовательно, не обязательно равна ранее применённому шаблону.

Возвращает:
шаблон, представляющий текущее состояние формата сообщений

setFormatsByArgumentIndex

public void setFormatsByArgumentIndex(Format[] newFormats)

Устанавливает форматы, которые будут использоваться для значений, переданных в методы format или возвращённых методами parse. Индексы элементов в массиве newFormats соответствуют индексам аргументов, используемым в ранее заданной строке шаблона. Порядок форматов в массиве newFormats таким образом соответствует порядку элементов в массиве arguments, переданном в методы format, или результатному массиву, возвращённому методами parse.

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

Параметры:
newFormats - новые форматы для использования
Исключения:
NullPointerException - если newFormats равно null
С:
1.4

setFormats

public void setFormats(Format[] newFormats)

Устанавливает форматы, которые будут использоваться для элементов форматирования в ранее заданной строке шаблона. Порядок форматов в массиве newFormats соответствует порядку элементов форматирования в строке шаблона.

Если предоставлено больше форматов, чем необходимо строке шаблона, оставшиеся игнорируются. Если предоставлено меньше форматов, чем необходимо, то заменятся только первые newFormats.length форматы.

Поскольку порядок элементов форматирования в строке шаблона часто изменяется при локализации, обычно лучше использовать метод setFormatsByArgumentIndex, который предполагает порядок форматов, соответствующий порядку элементов в массиве arguments, переданном в методы format, или результатному массиву, возвращённому методами parse.

Параметры:
newFormats - новые форматы для использования
Исключения:
NullPointerException - если newFormats равно null

setFormatByArgumentIndex

public void setFormatByArgumentIndex(int argumentIndex,
                                     Format newFormat)

Устанавливает формат, который будет использоваться для элементов форматирования в ранее заданной строке шаблона, использующих данный индекс аргумента. Индекс аргумента является частью определения элемента форматирования и представляет собой индекс в массиве arguments , переданном методам format, или результатному массиву, возвращённому методами parse.

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

Параметры:
argumentIndex - индекс аргумента, для которого использовать новый формат
newFormat - новый формат для использования
С:
1.4

setFormat

public void setFormat(int formatElementIndex,
                      Format newFormat)

Устанавливает формат, который будет использоваться для элемента форматирования с заданным индексом элемента форматирования в ранее заданной строке шаблона. Индекс элемента форматирования — это нулевой индекс элемента форматирования, отсчитываемый от начала строки шаблона.

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

Параметры:
formatElementIndex - индекс элемента форматирования в шаблоне
newFormat - формат для использования для указанного элемента форматирования
Исключения:
ArrayIndexOutOfBoundsException - если formatElementIndex равен или больше числа элементов форматирования в строке шаблона

getFormatsByArgumentIndex

public Format[] getFormatsByArgumentIndex()

Получает форматы, используемые для значений, переданных в методы format или возвращённых методами parse. Индексы элементов в возвращаемом массиве соответствуют индексам аргументов, используемым в ранее заданной строке шаблона. Порядок форматов в возвращаемом массиве таким образом соответствует порядку элементов в массиве arguments, переданном в методы format, или результатному массиву, возвращённому методами parse.

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

Возвращает:
форматы, используемые для аргументов в шаблоне
С:
1.4

getFormats

public Format[] getFormats()

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

Поскольку порядок элементов форматирования в строке шаблона часто изменяется при локализации, обычно лучше использовать метод getFormatsByArgumentIndex, который предполагает порядок форматов, соответствующий порядку элементов в массиве arguments, переданном в методы format, или результатному массиву, возвращённому методами parse.

Возвращает:
форматы, используемые для элементов форматирования в шаблоне

format

public final StringBuffer format(Object[] arguments,
                                 StringBuffer result,
                                 FieldPosition pos)

Форматирует массив объектов и добавляет шаблон MessageFormat, с элементами форматирования, заменёнными отформатированными объектами, в предоставленный StringBuffer.

Текст, заменяющий отдельные элементы форматирования, получен из текущего подформата элемента форматирования и элемента arguments в индексе аргумента элемента форматирования, как указано первой подходящей строкой в следующей таблице. Аргумент считается недоступным, если arguments равно null или имеет меньше, чем argumentIndex+1 элементов.

Подформат Аргумент Отформатированный текст
любой недоступен "{" + argumentIndex + "}"
любой null "null"
instanceof ChoiceFormat любой subformat.format(argument).indexOf('{') >= 0 ?
(new MessageFormat(subformat.format(argument), getLocale())).format(argument) : subformat.format(argument)
!= null любой subformat.format(argument)
null instanceof Number NumberFormat.getInstance(getLocale()).format(argument)
null instanceof Date DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getLocale()).format(argument)
null instanceof String argument
null любой argument.toString()

Если pos не null и относится к Field.ARGUMENT, то расположение первой отформатированной строки будет возвращено.

Параметры:
arguments - массив объектов для форматирования и подстановки.
result - место для добавления текста.
pos - При вводе: поле выравнивания, если необходимо. При выводе: смещения поля выравнивания.
Возвращает:
буфер строки, переданный как result, с добавленным отформатированным текстом
Исключение:
IllegalArgumentException - если аргумент в массиве arguments не соответствует типу, ожидаемому элементом(ами) форматирования, использующими его.

format

public static String format(String pattern,
                            Object... arguments)

Создаёт MessageFormat с заданным шаблоном и использует его для форматирования заданных аргументов. Это эквивалентно

(new MessageFormat(pattern)).format(arguments, new StringBuffer(), null).toString()

Параметры:
pattern - строка шаблона
arguments - объект(ы) для форматирования
Возвращает:
отформатированная строка
Исключение:
IllegalArgumentException - если шаблон некорректен, или если аргумент в массиве arguments не соответствует типу, ожидаемому элементом(ами) форматирования, использующими его.

format

public final StringBuffer format(Object arguments,
                                 StringBuffer result,
                                 FieldPosition pos)

Форматирует массив объектов и добавляет шаблон MessageFormat, с элементами форматирования, заменёнными отформатированными объектами, в предоставленный буфер StringBuffer. Это эквивалентно

format((Object[]) arguments, result, pos)

Определено в:
format в классе Format
Параметры:
arguments - массив объектов для форматирования и подстановки.
result - место для добавления текста.
pos - При вводе: поле выравнивания, если необходимо. При выводе: смещения поля выравнивания.
Возвращает:
буфер строки, переданный как toAppendTo, с добавленным отформатированным текстом
Исключение:
IllegalArgumentException - если аргумент в массиве arguments не соответствует типу, ожидаемому элементом(ами) форматирования, использующими его.

formatToCharacterIterator

public AttributedCharacterIterator formatToCharacterIterator(Object arguments)

Форматирует массив объектов и вставляет их в шаблон MessageFormat, создавая AttributedCharacterIterator. Вы можете использовать возвращённый AttributedCharacterIterator для построения результирующей строки, а также для определения информации о результирующей строке.

Текст возвращённого AttributedCharacterIterator такой же, как возвращала бы функция

format(arguments, new StringBuffer(), null).toString()

Кроме того, AttributedCharacterIterator содержит как минимум атрибуты, указывающие, где текст был сгенерирован из аргумента в массиве arguments. Ключи этих атрибутов имеют тип MessageFormat.Field, а их значения - объекты Integer, указывающие индекс в массиве arguments аргумента, из которого был сгенерирован текст.

Атрибуты/значения из базовых экземпляров Format, которые использует MessageFormat, также будут помещены в результирующий AttributedCharacterIterator. Это позволяет не только найти, где аргумент помещён в результирующую строку, но и какие поля он содержит в свою очередь.

Переопределяет:
formatToCharacterIterator в классе Format
Параметры:
arguments - массив объектов для форматирования и подстановки.
Возвращает:
AttributedCharacterIterator, описывающий отформатированное значение.
Исключение:
NullPointerException - если arguments равно null.
IllegalArgumentException - если аргумент в массиве arguments не соответствует типу, ожидаемому элементом(ами) форматирования, использующими его.
С:
1.4

parse

public Object[] parse(String source,
                      ParsePosition pos)

Разбирает строку.

Ограничения: Разбор может завершиться неудачей по ряду причин. Например:

  • Если один из аргументов не встречается в шаблоне.
  • Если формат аргумента теряет информацию, например, с форматом выбора, где большое количество форматируется как «много».
  • Пока не обрабатывает рекурсию (где подставленные строки содержат ссылки {n}).
  • Не всегда найдёт совпадение (или правильное совпадение), если какая-то часть разбора является неоднозначной. Например, если шаблон "{1},{2}" используется со строковыми аргументами {"a,b", "c"}, он будет отформатирован как "a,b,c". При разборе результата будет возвращено {"a", "b,c"}.
  • Если один аргумент анализируется более одного раза в строке, то побеждает более поздний разбор.
При неудачном разборе используйте ParsePosition.getErrorIndex(), чтобы узнать, где в строке произошёл сбой разбора. Возвращаемый индекс ошибки - начальный смещение подшаблонов, с которыми сравнивается строка. Например, если анализируемая строка "AAA {0} BBB" сравнивается с шаблоном "AAD {0} BBB", индекс ошибки равен 0. При возникновении ошибки метод возвращает null. Если исходная строка равна null, возвращается пустой массив.
Параметры:
source - строка для разбора
pos - позиция разбора
Возвращает:
массив разбора объектов

parse

public Object[] parse(String source)
               throws ParseException

Разбирает текст с начала заданной строки, чтобы получить массив объектов. Метод может не использовать весь текст заданной строки.

См. метод parse(String, ParsePosition) для получения более подробной информации о разборе сообщений.

Параметры:
source - Строка, начало которой должно быть разобрано.
Возвращает:
массив Object объектов, разобранных из строки.
Исключение:
ParseException - если начало указанной строки не может быть разобрано.

parseObject

public Object parseObject(String source,
                          ParsePosition pos)

Разбирает текст из строки, чтобы получить массив объектов.

Метод пытается разобрать текст, начиная с индекса, заданного pos. Если разбор проходит успешно, то индекс pos обновляется до индекса после последнего используемого символа (разбор не обязательно использует все символы до конца строки), и возвращается разобранный массив объектов. Обновлённый pos может использоваться для указания точки входа для следующего вызова этого метода. Если произошла ошибка, индекс pos не изменяется, индекс ошибки pos устанавливается в индекс символа, где произошла ошибка, и возвращается null.

См. метод parse(String, ParsePosition) для получения более подробной информации о разборе сообщений.

Определено в:
parseObject в классе Format
Параметры:
source - Строка, часть которой должна быть разобрана.
pos - Объект ParsePosition с информацией об индексе и индексе ошибки, как описано выше.
Возвращает:
массив Object объектов, разобранных из строки. В случае ошибки возвращает null.
Исключение:
NullPointerException - если pos равно null.

clone

public Object clone()

Создаёт и возвращает копию этого объекта.

Переопределяет:
clone в классе Format
Возвращает:
клон этого экземпляра.
См. также:
Cloneable

equals

public boolean equals(Object obj)

Сравнение на равенство двух объектов формата сообщения

Переопределяет:
equals в классе Object
Параметры:
obj - объект-ссылка для сравнения.
Возвращает:
true если этот объект такой же, как аргумент obj; false в противном случае.
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Генерирует код хэширования для объекта формата сообщения.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэша для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

© 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