其中MessageFormat 部分方法会涉及Pattern 这个参数.
Pattern 参数书写方法如下:
MessageFormat
使用以下形式的模式:
MessageFormatPattern: String MessageFormatPattern FormatElement String FormatElement: { ArgumentIndex } { ArgumentIndex , FormatType } { ArgumentIndex , FormatType , FormatStyle } FormatType: one of number date time choice FormatStyle: short medium long full integer currency percent SubformatPattern String: StringPartopt String StringPart StringPart: '' ' QuotedString ' UnquotedString SubformatPattern: SubformatPatternPartopt SubformatPattern SubformatPatternPart SubFormatPatternPart: ' QuotedPattern ' UnquotedPattern即pattern 参数书写方法为一段字符串中包裹着要替换的内容.替换的内容由花括号包裹:
而其用法用三种:索引为Object[] 数组中对应替换的数据索引,格式类型为其替换后针对下表中的类型,格式样式为其数据具体转换的java数据类型
{参数索引} 例:{0}
{参数索引,格式类型} 例{0,number}
{参数索引,格式类型,格式样式}{0,date,short}
例:"哈哈哈哈{0}",其中的0 代表Object[] 数组中的索引,object[]中的元素即为替换后的数据
MessageFormat.format(Pattern,object[]);
案例:
int planet = 7; String event = "a disturbance in the Force"; String result = MessageFormat.format( "At {1,time} on {1,date}, there was {2} on planet {0}.", planet, new Date(), event);
输出结果为:
Today is 06-10-15 下午8:34
My age is 26,I was borm at 1,979.(注意,我没有控制年份输出,所以按照西方的习惯1979编程了1,979了)。