- java.lang.Object
-
- java.text.Format
-
- 实现的所有接口
-
Serializable
,Cloneable
- 已知直接子类:
-
DateFormat
,MessageFormat
,NumberFormat
public abstract class Format extends Object implements Serializable, Cloneable
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
。 子类通常还为特定输入类型提供额外的format
方法,并为特定结果类型提供parse
方法。 当所需格式的文本ParseException
输入文本的开头时,任何不采用ParsePosition
参数的parse
方法应抛出ParseException
。大多数子类还将实现以下工厂方法:
-
getInstance
用于获取适用于当前语言环境的有用格式对象 -
getInstance(Locale)
用于获取适用于指定语言环境的有用格式对象
getXxxxInstance
方法以进行更专业的控制。 例如,NumberFormat
类提供了getPercentInstance
和getCurrencyInstance
方法来获取专用数字格式化程序。允许程序员为语言环境创建对象的子类
Format
(例如,使用getInstance(Locale)
)也必须实现以下类方法:public static Locale[] getAvailableLocales()
最后,子类可以定义一组常量来标识格式化输出中的各个字段。 这些常量用于创建FieldPosition对象,该对象标识字段中包含的信息及其在格式化结果中的位置。 这些常量应命名为
item_FIELD
,其中item
标识该字段。 有关这些常量的示例,请参阅ERA_FIELD
及其朋友, 电话号码是DateFormat
。Synchronization
格式通常不同步。 建议为每个线程创建单独的格式实例。 如果多个线程同时访问格式,则必须在外部进行同步。
- 从以下版本开始:
- 1.1
- 另请参见:
-
ParsePosition
,FieldPosition
,NumberFormat
,DateFormat
,MessageFormat
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
Format.Field
定义了用于作为属性键常数AttributedCharacterIterator
从返回Format.formatToCharacterIterator
和字段标识符在FieldPosition
。
-
构造方法摘要
构造方法 变量 构造器 描述 protected
Format()
唯一的构造函数。
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 Object
clone()
创建并返回此对象的副本。String
format(Object obj)
格式化对象以生成字符串。abstract StringBuffer
format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
格式化对象并将结果文本附加到给定的字符串缓冲区。AttributedCharacterIterator
formatToCharacterIterator(Object obj)
格式化一个生成AttributedCharacterIterator
的对象。Object
parseObject(String source)
从给定字符串的开头解析文本以生成对象。abstract Object
parseObject(String source, ParsePosition pos)
解析字符串中的文本以生成对象。
-
-
-
方法详细信息
-
format
public final String format(Object obj)
- 参数
-
obj
- 要格式化的对象 - 结果
- 格式化字符串。
- 异常
-
IllegalArgumentException
- 如果Format无法格式化给定对象
-
format
public abstract StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
格式化对象并将结果文本附加到给定的字符串缓冲区。 如果pos
参数标识格式使用的字段,则其索引将设置为遇到的第一个此类字段的开头和结尾。- 参数
-
obj
- 要格式化的对象 -
toAppendTo
- 要附加文本的位置 -
pos
- 识别格式化文本中的字段的FieldPosition
- 结果
-
传入的字符串缓冲区为
toAppendTo
,附加了格式化文本 - 异常
-
NullPointerException
- 如果toAppendTo
或pos
为空 -
IllegalArgumentException
- 如果格式无法格式化给定对象
-
formatToCharacterIterator
public AttributedCharacterIterator formatToCharacterIterator(Object obj)
格式化一个生成AttributedCharacterIterator
的对象。 您可以使用返回的AttributedCharacterIterator
来构建生成的String,以及确定有关生成的String的信息。AttributedCharacterIterator的每个属性键的类型为
字段
。 它是由每个Format
实现定义什么合法的值是在每个属性AttributedCharacterIterator
,但通常属性键也用作属性值。默认实现创建一个没有属性的
AttributedCharacterIterator
。 支持字段的子类应覆盖此字段并创建具有有意义属性的AttributedCharacterIterator
。- 参数
-
obj
- 要格式化的对象 - 结果
- AttributedCharacterIterator描述格式化的值。
- 异常
-
NullPointerException
- 如果obj为null。 -
IllegalArgumentException
- 格式无法格式化给定对象时。 - 从以下版本开始:
- 1.4
-
parseObject
public abstract Object parseObject(String source, ParsePosition pos)
解析字符串中的文本以生成对象。该方法尝试从
pos
给出的索引处开始解析文本。 如果解析成功,则在使用最后一个字符之后将索引pos
更新为索引(解析不一定使用直到字符串末尾的所有字符),并返回解析的对象。 更新后的pos
可用于指示下次调用此方法的起点。 如果发生错误,则不更改索引pos
,将错误索引pos
设置为发生错误的字符的索引,并返回null。- 参数
-
source
- AString
,其中一部分应该被解析。 -
pos
- 具有ParsePosition
索引和错误索引信息的ParsePosition
对象。 - 结果
-
从字符串解析的
Object
。 如果出现错误,则返回null。 - 异常
-
NullPointerException
- 如果source
或pos
为空。
-
parseObject
public Object parseObject(String source) throws ParseException
从给定字符串的开头解析文本以生成对象。 该方法可能不使用给定字符串的整个文本。- 参数
-
source
- 应该解析其开头的String
。 - 结果
-
从字符串解析的
Object
。 - 异常
-
ParseException
- 如果无法解析指定字符串的开头。 -
NullPointerException
- 如果source
为空。
-
-