语言是Java。 %1$#
在...中意味着什么?
static String padright (String str, int num) {
return String.format("%1$#" + num + "str", str);
}
在Java API中,String.format()
以这种方式使用:
public static String format(String format, Object... args)
所以我认为%1$#
是格式说明符。
%[flags][width][.precision][argsize]typechar
是模板。
是吗?
答案 0 :(得分:31)
模板:
%[argument_index$][flags][width][.precision]conversion
可选的argument_index是一个 十进制整数表示 论证的位置 参数列表。第一个论点是 由“1 $”引用,第二个由 “2 $”等。
可选标志是一组 修改输出的字符 格式。有效标志集取决于 关于转换。
可选宽度是十进制整数,表示最小值 要写入的字符数 输出。
可选的精度是a 通常是非负十进制整数 用来限制数量 字符。具体行为 取决于转换。
所需的转换是a 字符指示如何参数 应格式化。这套有效 给定参数的转换 取决于参数的数据类型。
%1$
指的是第一个替换。在这种情况下,字符串str
。
#
是一个标志,表示结果应使用与转换相关的替代形式。
http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html