1. ホーム

[解決済み】Javaで文字列のConcatenationよりもString.formatを使用する方が良い習慣ですか?

2022-03-27 08:52:21

質問

を使用するのとでは、目に見えて違いがありますか? String.format とJavaのString concatenationの違いについて教えてください。

を使うことが多いのですが String.format が、たまに滑って連結を使うことがある。どちらか一方が良いのかと思っていました。

私が考えるに String.format また、連結することで、誤って余分な%sを入れたり、1つ欠けたりすることを心配する必要がありません。

String.format の方が短いですしね。

どちらが読みやすいかは、頭の働きによります。

解決方法は?

私は、より良いプラクティスを提供するために String.format() . その主な理由は String.format() 一方、連結は、言語ごとに異なるコードを持つ新しい実行ファイルを作成しなければローカライズすることができません。

アプリをローカライズするつもりなら、フォーマットトークンの引数位置も指定する習慣をつけるとよいでしょう。

"Hello %1$s the time is %2$t"

この場合、ローカライズして名前と時刻のトークンを入れ替えれば、順序の違いを考慮して実行ファイルを再コンパイルする必要はない。また、引数の位置によって、同じ引数を2回関数に渡すことなく再利用することができます。

String.format("Hello %1$s, your name is %1$s and the time is %2$t", name, time)