public abstract class Format extends Object implements Serializable, Cloneable
Format是格式化的区域敏感信息,如日期、消息的一个抽象基类,和数字。
Format定义格式现场敏感对象为Strings编程接口(的format法)和解析Strings回对象(的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时要求的格式中没有文字是在输入文本的开始。
大多数子类也将实现以下工厂方法:
getInstancegetInstance(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.