在String.format()中选择参数 [英] Selecting parameters in String.format()

查看:112
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆