在String.format中嵌套格式

时间:2017-01-14 12:41:04

标签: java string-formatting

java String.format的嵌套格式是否可行?一个例子是;

String fooPadded = String.format("FOO:%1$10s", "foo");

// fooPadded:"FOO:       foo"

String barPadded = String.format("%1$15s", fooPadded);

// barPadded:" FOO:       foo"

我没有调用2个连续format方法,这些方法在性能方面很昂贵,我希望用 bar 规则包装 foo 规则,在其他方面减少格式为单一。

1 个答案:

答案 0 :(得分:0)

您的程序中是否存在性能问题?如果是这样,你就是想做点什么就对了。如果没有,你不应该。如果你有,String.format()不是我的第一个嫌疑人,也不是第二个花费太长时间。在对您漂亮且可读的代码进行任何更改之前先进行测量。

那就是说,我认为限制一次拨打format()的方法是:

    String barPadded = String.format("%5s%10s", "FOO:", "foo");

我不认为你可以做嵌套,除非你的问题有两个电话。

如果"foo"恰好是11个字符长,我的代码将不会提供与您问题中的代码完全相同的结果。

相关问题