在String.format()中选择参数 [英] Selecting parameters in String.format()
问题描述
C#
中,您可以指定哪个参数用于带有第2段的格式化字符串:{2}
。这允许在任意位置和多次使用参数。有没有办法使用标准的java做到这一点?
是的。您可以定义参数的索引,请参阅参数索引部分。 htmlrel =nofollow noreferrer> API 。
$ b $
例如:
$ p $ //┌参数3(1-索引)
// | String字符串类型
// | | ┌参数2
// | | | decimal十进制整数类型
// | | | | ┌参数1
// | | | | | ┌十进制数的类型(float)
// | | | | | |
System.out.printf(%3 $ s%2 $ d%1 $ f,1.5f,42,foo);
输出
foo 42 1.500000
注意
以下习语共享相同的格式定义:
String#format
PrintStream#printf
li> Formatter#format
In C#
you can specify which parameter is used for a formatted string with para 2: {2}
. This allows for using parameters in arbitrary places and multiple times.
Is there a way to do this with standard java?
Yes. You can define the argument's index, see the Argument Index section of the API.
For instance:
// ┌ argument 3 (1-indexed)
// | ┌ type of String
// | | ┌ argument 2
// | | | ┌ type of decimal integer
// | | | | ┌ argument 1
// | | | | | ┌ type of decimal number (float)
// | | | | | |
System.out.printf("%3$s %2$d %1$f", 1.5f, 42, "foo");
Output
foo 42 1.500000
Note
The following idioms all share the same format definitions:
String#format
PrintStream#printf
Formatter#format
这篇关于在String.format()中选择参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!