1、MessageFormat.format同C#的string.Format使用基本相同,如:
MessageFormat.format("格式化字符串:{0}({1})", "字符串1","字符串2");
2、String.format(String format, Object... args)方法用于创建格式化的字符串以及连接多个字符串,类似于C语言的sprintf()方法。
其中第一个参数format为格式说明符,第二参数是填充format的实际参数列表。
2.1 格式说明符format语法
基本格式为:%[argument_index$][flags][width][.precision]conversion
中文对照为:%[实参索引$][标识][最小宽度][.精度]转换符
[argument_index$]:可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置,位置索引从1开始计算,用于指定对索引相应的实参进行格式化并替换掉该占位符。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。
[flags]:可选的flags 是修改输出格式的字符集,用于增强格式化能力,可同时使用多个 [标识] ,但某些标识是不能同时使用,有效标志的集合取决于转换类型。
[width]:可选 width 是一个非负十进制整数,表明要向输出中写入的最少字符数,用于设置格式化后的字符串最小长度,若使用 [最小宽度] 而无设置 [标识] ,那么当字符串长度小于最小宽度时,则以左边补空格的方式凑够最小宽度。
[.precision]:可选 precision 是一个非负十进制整数,通常用来限制字符数。特定行为取决于转换类型,如对于浮点数类型格式化使用,设置保留小数点后多少位。
conversion:所需的 conversion 是一个表明应该如何格式化参数的字符。给定参数的有效转换集合取决于参数的数据类型。
2.2 字符、字符串类型的格式说明符的语法
占位符格式为: %[index$][标识][最小宽度]转换符
2.3 整数类型的格式说明符的语法
占位符格式为: %[index$][标识][最小宽度]转换符
2.4浮点数类型的格式说明符的语法
占位符格式为: %[index$][标识][最小宽度][.精度]转换符
2.5 日期和时间类型的格式说明符的语法
占位符格式为: %[index$]t转换符