java中string.format("%1$4d",year),是什么意思
的有关信息介绍如下:static String format(Locale l, String format, Object... args)
使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
static String format(String format, Object... args)
使用指定的格式字符串和参数返回一个格式化字符串。
这个是java中的格式化输出
和c语言的printf()的用法完全一样 ...你可以去参考printf()的使用方法......
看源码:
public static String format(String format, Object ... args) {
return new Formatter().format(format, args).toString();
}
中文的详细解释可参考JDK-API里Formatter类的说明,截取部分如下:
常规类型、字符类型和数值类型的格式说明符的语法如下:
%[argument_index$][flags][width][.precision]conversion
可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。
可选 flags 是修改输出格式的字符集。有效标志集取决于转换类型。
可选 width 是一个非负十进制整数,表明要向输出中写入的最少字符数。
可选 precision 是一个非负十进制整数,通常用来限制字符数。特定行为取决于转换类型。
所需 conversion 是一个表明应该如何格式化参数的字符。给定参数的有效转换集取决于参数的数据类型。
按上述说明,你贴的语句意思便是将变量year格式化到长度4