Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Format extends Object implements Serializable, Cloneable
Format
абстрактный базовый класс для того, чтобы отформатировать уязвимую информацию локали, такую как даты, сообщения, и числа.
Format
определяет интерфейс программирования для того, чтобы отформатировать чувствительные к локали объекты в String
s ( format
метод) и для того, чтобы проанализировать String
s назад в объекты ( parseObject
метод).
Обычно, формат parseObject
метод должен быть в состоянии проанализировать любую строку, отформатированную format
метод. Однако, могут быть исключительные случаи, где это не возможно. Например, a format
метод мог бы создать два смежных целых числа без разделителя промежуточный, и в этом случае parseObject
не мог сказать, какие цифры принадлежат который число.
Платформа Java обеспечивает три специализированных подкласса Format
-- DateFormat
, MessageFormat
, и NumberFormat
- для того, чтобы отформатировать даты, сообщения, и числа, соответственно.
Конкретные подклассы должны реализовать три метода:
format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
formatToCharacterIterator(Object obj)
parseObject(String source, ParsePosition pos)
MessageFormat
. Подклассы часто также обеспечивают дополнительный format
методы для определенных входных типов так же как parse
методы для определенных типов результата. Любой parse
метод, который не берет a ParsePosition
параметр должен бросить ParseException
когда никакой текст в необходимом формате не в начале входного текста. Большинство подклассов также реализует следующие методы фабрики:
getInstance
для того, чтобы получить полезный формат возражают соответствующий для текущей локали getInstance(Locale)
для того, чтобы получить полезный формат возражают соответствующий для указанной локали getXxxxInstance
методы для более специализированного управления. Например, NumberFormat
класс обеспечивает getPercentInstance
и getCurrencyInstance
методы для того, чтобы получить специализированные средства форматирования числа. Подклассы Format
это позволяет программистам создавать объекты для локалей (с getInstance(Locale)
например), должен также реализовать следующий метод класса:
public static Locale[] getAvailableLocales()
И наконец подклассы могут определить ряд констант, чтобы идентифицировать различные поля в отформатированном выводе. Эти константы используются, чтобы создать объект FieldPosition, который идентифицирует, какая информация содержится в поле и его позиции в отформатированном результате. Эти константы нужно назвать item_FIELD
где item
идентифицирует поле. Для примеров этих констант см. ERA_FIELD
и его друзья в DateFormat
.
Форматы обычно не синхронизируются. Рекомендуется создать отдельные экземпляры формата для каждого потока. Если многократные потоки получают доступ к формату одновременно, он должен синхронизироваться внешне.
Модификатор и Тип | Класс и Описание |
---|---|
static class |
Формат. Поле
Определяет константы, которые используются, поскольку атрибут вводит
AttributedCharacterIterator возвращенный из Format.formatToCharacterIterator и как полевые идентификаторы в FieldPosition . |
Модификатор | Конструктор и Описание |
---|---|
protected |
Format()
Единственный конструктор.
|
Модификатор и Тип | Метод и Описание |
---|---|
Объект |
clone()
Создает и возвращает копию этого объекта.
|
Строка |
format(Object obj)
Форматирует объект произвести строку.
|
abstract StringBuffer |
format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
Форматирует объект и добавляет получающийся текст к данному строковому буферу.
|
AttributedCharacterIterator |
formatToCharacterIterator(Object obj)
Форматирует Объект, производящий
AttributedCharacterIterator . |
Объект |
parseObject(String source)
Текст синтаксических анализов с начала данной строки произвести объект.
|
abstract Object |
parseObject(String source, ParsePosition pos)
Текст синтаксических анализов от строки, чтобы произвести объект.
|
protected Format()
public final String format(Object obj)
format
(obj, new StringBuffer(), new FieldPosition(0)).toString();
obj
- Объект отформатироватьIllegalArgumentException
- если Формат не может отформатировать данный объектpublic abstract StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
pos
параметр идентифицирует поле, используемое форматом, тогда его индексы устанавливаются в начало и конец первого такое поле, с которым встречаются.obj
- Объект отформатироватьtoAppendTo
- где текст должен быть добавленpos
- A FieldPosition
идентификация поля в отформатированном текстеtoAppendTo
, с отформатированным добавленным текстомNullPointerException
- если toAppendTo
или pos
нульIllegalArgumentException
- если Формат не может отформатировать данный объектpublic AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIterator
. Можно использовать возвращенный AttributedCharacterIterator
создать получающуюся Строку, так же как определить информацию о получающейся Строке. Каждый ключ атрибута AttributedCharacterIterator будет иметь тип Field
. Это до каждого Format
реализация, чтобы определить, что юридические значения для каждого атрибута в AttributedCharacterIterator
, но обычно ключ атрибута также используется в качестве значения атрибута.
Реализация по умолчанию создает AttributedCharacterIterator
без атрибутов. Подклассы, которые поддерживают поля, должны переопределить это и создать AttributedCharacterIterator
со значимыми атрибутами.
obj
- Объект отформатироватьNullPointerException
- если obj является нулем.IllegalArgumentException
- когда Формат не может отформатировать данный объект.public abstract Object parseObject(String source, ParsePosition pos)
Метод пытается проанализировать текст, запускающийся по индексу, данному pos
. Если парсинг успешно выполняется, то индекс pos
обновляется к индексу после используемого последнего знака (парсинг не обязательно израсходовал все символы до конца строки), и проанализированный объект возвращается. Обновленный pos
может использоваться, чтобы указать на начальную точку для следующего звонка в этот метод. Если ошибка происходит, то индекс pos
не изменяется, ошибочный индекс pos
устанавливается в индекс символа, где ошибка произошла, и нуль возвращается.
source
- A String
, часть которого должна быть проанализирована.pos
- A ParsePosition
объект с индексом и ошибкой индексирует информацию как описано выше.Object
проанализированный от строки. В случае ошибки, нуля возвратов.NullPointerException
- если pos
нуль.public Object parseObject(String source) throws ParseException
source
- A String
чье начало должно быть проанализировано.Object
проанализированный от строки.ParseException
- если начало указанной строки не может быть проанализировано.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.