繁体   English   中英

在String.format(Java)中使用时,“%1 $#”是什么意思?

[英]What does “%1$#” mean when used in String.format (Java)?

语言是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是模板。

  • 1是旗帜?
  • $是宽度?
  • #是精度?
  • num是argsize?
  • “str”是typechar?

是对的吗?

模板:

%[argument_index$][flags][width][.precision]conversion

可选的argument_index是十进制整数,表示参数列表中参数的位置。 第一个参数由“1 $”引用,第二个参数由“2 $”引用,等等。

可选标志是一组修改输出格式的字符。 有效标志集取决于转换。

可选宽度是十进制整数,表示要写入输出的最小字符数。

可选精度是一个非负十进制整数,通常用于限制字符数。 具体行为取决于转换。

所需的转换是一个字符,指示如何格式化参数。 给定参数的有效转换集取决于参数的数据类型。

%1$表示第一次替换。 在这种情况下,字符串str #是标志,表示结果应使用依赖于转换的替代形式。

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM