当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

类 java.text.Format

java.lang.Object
   |
   +----java.text.Format

public abstract class Format
extends Object
implements Serializable, Cloneable
下列类的父类:
DateFormat, MessageFormat, NumberFormat

Format 是格式化国别敏感的信息,如日期、消息和数字,的抽象基类。

Format 为将国别敏感的对象格式化为 String ( format 方法 ) 和将 String 分析为对象 ( parseObject 方法 ) 提供了编程接口。任何由 format 格式化的 String 一定能由 parseObject 分析。

如果因为 Format 对象格式化对象指定的类型使格式化失败, format 抛出一个 IllegalArgumentException。 否则如果对象有不正规形式,format 返回 Unicode 替代字符 \\uFFFD

当分析不匹配时,parseObject(String) 抛出一个 ParseException,并且 parseObject(String, ParsePosition) 不改变 ParsePosition index 成员,返回 null

子类: JDK 为 Format 提供了三个具体的子类 -- DateFormatMessageFormatNumberFormat-- 为了分别格式化日期、信息和数字。

具体的子类必须实现下列方法:

  1. format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
  2. parseObject (String source, ParsePosition pos)

大部分子类也将实现下列两个方法:

  1. getInstance 为了获得适合当前语言环境的可用的格式对象。
  2. getInstance(Local) 为了获得适合指定语言环境的可用的格式对象。
另外,有些子类也可为特定的控制选项实现其它 getXxxxInstance 方法。 例如,NumberFormat 类为获得特定的数字格式化程序提供了 getPercentInstancegetCurrencyInstance

Format 的允许程序员为不同语言环境创建对象 ( 例如用 getInstance(Locale) 方法 ) 的子类必须实现下列类方法:

 public static Locale[] getAvailableLocales()
 

最后,子类可能会定义一个常数集合标识格式化输出的不同域。 这些常数用于创建一个 FieldPosition 对象。该对象标识域中包含什么信息以及它们在格式化输出中的位置。 这些常数必须 被命名为 item_FIELD,此处 item 标识域。 关于这些常数的例子,参见 ERA_FIELD 及其 DateFormat 中的友元。

参见:
ParsePosition, FieldPosition, NumberFormat, DateFormat, MessageFormat

构造子索引

Format()

方法索引

clone()
创建与该对象的类相同的新对象。
format(Object)
格式化一个对象以产生一个字符串。
format(Object, StringBuffer, FieldPosition)
格式化一个对象以产生一个字符串。
parseObject(String)
分析一个字符串以产生一个对象。
parseObject(String, ParsePosition)
分析一个字符串以产生一个对象。

构造子

Format
 public Format()

方法

format
 public final String format(Object obj)
格式化一个对象以产生一个字符串。

子类将覆盖 format 的 StringBuffer 版本。

参数:
obj - 要格式化的对象
返回值:
格式化的字符串。
抛出: IllegalArgumentException
当 Format 不能格式化该对象类型。
参见:
MessageFormat, format
format
 public abstract StringBuffer format(Object obj,
                            StringBuffer toAppendTo,
                            FieldPosition pos)
格式化一个对象以产生一个字符串。 子类将为特定的对象实现,如:
 StringBuffer format (Number obj, StringBuffer toAppendTo)
 Number parse (String str)
 
这些一般的例程允许为诸如 MessageFormat 的对象进行多种形式的分析和格式化。

参数:
obj - 要格式化的对象
toAppendTo - 文本被添加的位置。
status - 对于输入:如果需要的话是一个 alignment 域。 对于输出:alignment 域的偏移量。
返回值:
传入的数值如 toAppendTo ( 这将允许链接,如同用 StringBuffer.append()。)
抛出: IllegalArgumentException
当 Format 不能格式化给定对象。
参见:
MessageFormat, FieldPosition
parseObject
 public abstract Object parseObject(String source,
                                    ParsePosition status)
分析一个字符串以产生一个对象。 通常子类将为特定的对象实现,如:
       String format (Number obj);
       String format (long obj);
       String format (double obj);
       Number parse (String str);
 

参数:
ParsePosition - Input-Output 参数。

在调用之前,将 status.index 设置为源中希望开始分析的位置。 调用之后,status.index 是分析的文本的结尾。 如果发生错误,位置不改变。

当分析时,前导空白字符将被删除 ( 成功的分析 ),而结尾的空白字符将保留。

示例:将 "_12_xy" ( 此处 _ 表示一个空格 ) 分析为一个数字,当 index == 0 结果是数值 12,status.index 修改为 3 ( 在第二个空格之前 ) 。 因为 "xy" 不是一个数字,所以再次分析将引起一个 ParseException,索引仍为 3。

通常,子类将提供特殊的分析方法,返回不同类型的数值。 因为方法不能重载返回类型,通常它们被称为 "parse",而具有多种形式的方法将被称为 parseObject。 如果在起始位置没有要求的形式的文本,任何没有状态的方法将抛出 ParseException 异常。

返回值:
从字符串中分析的对象。 有错误的情况下返回 null。
参见:
ParsePosition
parseObject
 public Object parseObject(String source) throws ParseException
分析一个字符串以产生一个对象。

抛出: ParseException
如果指定的字符串是无效的。
clone
 public Object clone()
创建与该对象的类相同的新对象。

覆盖:
Object 中的 clone

当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)