public abstract class Format
extends Object
implements Serializable, Cloneable
java.lang.Object | |
↳ | java.text.Format |
Known Direct Subclasses |
Known Indirect Subclasses |
Format
是用于格式化区域敏感信息(如日期,消息和数字)的抽象基类。
Format
定义编程接口,用于格式化语言环境敏感的对象到 String
秒( format
法),用于解析 String
背部进入对象( parseObject
方法)。
通常,格式的parseObject
方法必须能够解析由其format
方法格式化的任何字符串。 但是,在这种情况不可能的情况下可能会出现特殊情况。 例如,一个format
方法可能创建两个相邻的整数,其间没有分隔符,在这种情况下, parseObject
无法分辨哪个数字属于哪个数字。
Java平台提供的三个专业小类 Format
- DateFormat
, MessageFormat
,并 NumberFormat
分别──为格式化日期,消息和数字,。
具体子类必须实现三种方法:
format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
formatToCharacterIterator(Object obj)
parseObject(String source, ParsePosition pos)
MessageFormat
. Subclasses often also provide additional
format
methods for specific input types as well as
parse
methods for specific result types. Any
parse
method that does not take a
ParsePosition
argument should throw
ParseException
when no text in the required format is at the beginning of the input text.
大多数子类也将实现以下工厂方法:
getInstance
for getting a useful format object appropriate for the current locale getInstance(Locale)
for getting a useful format object appropriate for the specified locale getXxxxInstance
methods for more specialized control. For example, the
NumberFormat
class provides
getPercentInstance
and
getCurrencyInstance
methods for getting specialized number formatters.
允许程序员为语言环境创建对象的 Format
子类(例如 getInstance(Locale)
)还必须实现以下类方法:
public static Locale[] getAvailableLocales()
最后,子类可以定义一组常量来标识格式化输出中的各个字段。 这些常量用于创建FieldPosition对象,该对象标识字段中包含的信息及其在格式化结果中的位置。 这些常量应该命名为item_FIELD
,其中item
标识该字段。 有关这些常量的示例,请参阅ERA_FIELD
及其朋友, DateFormat
。
格式通常不同步。 建议为每个线程创建单独的格式实例。 如果多个线程同时访问一个格式,它必须在外部同步。
Nested classes |
|
---|---|
class |
Format.Field 定义了用于作为属性键常数 |
Protected constructors |
|
---|---|
Format() 唯一的构造函数。 |
Public methods |
|
---|---|
Object |
clone() 创建并返回此对象的副本。 |
final String |
format(Object obj) 格式化一个对象来产生一个字符串。 |
abstract StringBuffer |
format(Object obj, StringBuffer toAppendTo, FieldPosition pos) 格式化对象并将结果文本附加到给定的字符串缓冲区。 |
AttributedCharacterIterator |
formatToCharacterIterator(Object obj) 格式化产生 |
Object |
parseObject(String source) 从给定字符串的开头解析文本以生成一个对象。 |
abstract Object |
parseObject(String source, ParsePosition pos) 分析字符串中的文本以生成对象。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String format (Object obj)
格式化一个对象来产生一个字符串。 这相当于
format
(obj, new StringBuffer(), new FieldPosition(0)).toString();
Parameters | |
---|---|
obj |
Object : The object to format |
Returns | |
---|---|
String |
Formatted string. |
Throws | |
---|---|
IllegalArgumentException |
if the Format cannot format the given object |
StringBuffer format (Object obj, StringBuffer toAppendTo, FieldPosition pos)
格式化对象并将结果文本附加到给定的字符串缓冲区。 如果pos
参数标识格式使用的字段,则其索引将设置为遇到的第一个此类字段的开始和结尾。
Parameters | |
---|---|
obj |
Object : The object to format |
toAppendTo |
StringBuffer : where the text is to be appended |
pos |
FieldPosition : A FieldPosition identifying a field in the formatted text |
Returns | |
---|---|
StringBuffer |
the string buffer passed in as toAppendTo , with formatted text appended |
Throws | |
---|---|
NullPointerException |
if toAppendTo or pos is null |
IllegalArgumentException |
if the Format cannot format the given object |
AttributedCharacterIterator formatToCharacterIterator (Object obj)
格式化产生AttributedCharacterIterator
的对象。 您可以使用返回的AttributedCharacterIterator
来构建生成的字符串,以及确定有关生成的字符串的信息。
AttributedCharacterIterator的每个属性键都是类型Field
。 它是由每Format
实现定义什么合法的值是在每个属性AttributedCharacterIterator
,但通常属性键也用作属性值。
默认实现创建一个没有属性的AttributedCharacterIterator
。 支持字段的子类应该覆盖该字段,并使用有意义的属性创建AttributedCharacterIterator
。
Parameters | |
---|---|
obj |
Object : The object to format |
Returns | |
---|---|
AttributedCharacterIterator |
AttributedCharacterIterator describing the formatted value. |
Throws | |
---|---|
NullPointerException |
if obj is null. |
IllegalArgumentException |
when the Format cannot format the given object. |
Object parseObject (String source)
从给定字符串的开头解析文本以生成一个对象。 该方法可能不会使用给定字符串的整个文本。
Parameters | |
---|---|
source |
String : A String whose beginning should be parsed. |
Returns | |
---|---|
Object |
An Object parsed from the string. |
Throws | |
---|---|
ParseException |
if the beginning of the specified string cannot be parsed. |
Object parseObject (String source, ParsePosition pos)
分析字符串中的文本以生成对象。
该方法尝试解析从pos
给出的索引开始的文本。 如果解析成功,那么索引pos
在使用最后一个字符(解析不一定使用到字符串末尾的所有字符)之后更新为索引,并返回解析对象。 更新的pos
可用于指示下一次调用此方法的起点。 如果发生错误,则pos
的索引不会更改,将错误索引pos
设置为发生错误的字符的索引,并返回null。
Parameters | |
---|---|
source |
String : A String , part of which should be parsed. |
pos |
ParsePosition : A ParsePosition object with index and error index information as described above. |
Returns | |
---|---|
Object |
An Object parsed from the string. In case of error, returns null. |
Throws | |
---|---|
NullPointerException |
if pos is null. |