您的位置首页快问快答

java中string.format("%1$4d",year),是什么意思

java中string.format("%1$4d",year),是什么意思

的有关信息介绍如下:

java中string.format(

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