Java 在String.format中嵌套格式
java的Java 在String.format中嵌套格式,java,string-formatting,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" 我不想调用两个连续的format方法,因为这在性能上会很昂贵,我想用条形规则包装foo规
String.format
是否可以嵌套格式?例如:
String fooPadded = String.format("FOO:%1$10s", "foo");
// fooPadded:"FOO: foo"
String barPadded = String.format("%1$15s", fooPadded);
// barPadded:" FOO: foo"
我不想调用两个连续的
format
方法,因为这在性能上会很昂贵,我想用条形规则包装foo规则,在其他方面,将格式简化为单个格式。您的程序中是否存在性能问题?如果是这样,你想做点什么是对的。如果不是,你不应该。如果有,String.format()
不会是我的第一个怀疑,也不会是第二个怀疑,因为它花费了太长时间。在对漂亮且可读的代码进行任何更改之前,请先进行测量
也就是说,我认为限制一次调用format()
的方法是:
String barPadded = String.format("%5s%10s", "FOO:", "foo");
我不认为你可以做筑巢,除非像你的问题中那样有两个调用
如果
“foo”
恰好是11个字符长,那么我的代码不会给出与您问题中的代码完全相同的结果。为什么您认为使用单个格式字符串可以提高性能?不,从性能角度看,格式化并不昂贵。