2017-01-14 18 views
0

ネスト形式はjavaのString.formatで可能ですか?一例があります。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メソッドを呼び出すので、私は単一のものにフォーマットを減らす他の用語でバールールでFOOルールをラップします。

+0

なぜ単一のフォーマット文字列を使用するとパフォーマンスが向上すると思いますか? – Tunaki

+0

いいえ、フォーマットは高価ではありません。 –

答えて

0

プログラムにパフォーマンスの問題がありますか?もしそうなら、あなたはそれについて何かしたいと思っているのです。もしそうでなければ、あなたはすべきではありません。あなたが持っているなら、String.format()は私の最初の容疑者でもなく、長すぎる時間をとるための2番目の人でもありません。あなたの素敵で読みやすいコードを変更する前に、測定してください。

前記、私はformat()への1つのコールに制限する方法があると思う:私はあなたがあなたの質問のように2つのコールを除いてネストを行うことができるとは思わない

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

"foo"が正確に11文字である場合、私のコードはあなたの質問のコードと全く同じ結果を得られません。

関連する問題