public abstract class Format extends Object implements Serializable, Cloneable
Format
是格式化的区域敏感信息,如日期、消息的一个抽象基类,和数字。
Format
定义格式现场敏感对象为String
s编程接口(的format
法)和解析String
s回对象(的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
方法。任何
parse
方法,不需要
ParsePosition
争论应该把
ParseException
时要求的格式中没有文字是在输入文本的开始。
大多数子类也将实现以下工厂方法:
getInstance
getInstance(Locale)
getXxxxInstance
。例如,在
NumberFormat
类提供专门的号码格式化
getPercentInstance
和
getCurrencyInstance
方法。
对Format
允许程序员创建对象的子类(与地方getInstance(Locale)
例如)也必须实施以下类的方法:
public static Locale[] getAvailableLocales()
最后,子类可以定义一组常量,以确定格式化输出中的各个字段。这些常数是用来创建一个力场排斥的对象,确定什么样的信息是包含在场及其在格式化结果的位置。这些常量应该被命名为item_FIELD
哪里item
标识字段。对于这些常数的例子,看到DateFormat
ERA_FIELD
和它的朋友。
格式一般不同步。建议为每个线程创建单独的格式实例。如果多个线程同时访问一个格式,则必须在外部同步。
Modifier and Type | Class and Description |
---|---|
static class |
Format.Field
定义常数,作为在
AttributedCharacterIterator 属性的钥匙从
Format.formatToCharacterIterator 作为
FieldPosition 字段标识符返回。
|
Modifier | Constructor and Description |
---|---|
protected |
Format()
唯一的构造函数。
|
Modifier and Type | Method and Description |
---|---|
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)
解析文本字符串以产生一个对象。
|
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
-
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
误差指标设置为错误发生位置的字符的索引,并返回null。
source
-
String
,其中一部分会被解析。
pos
-一个指标和误差指标上述信息,
ParsePosition
对象。
Object
解析字符串。在错误的情况下,返回空。
NullPointerException
-如果
pos
是空的。
public Object parseObject(String source) throws ParseException
source
-
String
始应解析。
Object
解析字符串。
ParseException
-如果不能指定字符串的开始被解析。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.