String.format
Java での と 文字列連結の使用には、顕著な違いがありますか?
私は通常使用しますString.format
が、時々連結をしてしまいます。どちらかが他方よりも優れているかどうか疑問に思っています。
私の見方では、String.format
文字列を「フォーマット」する力がより強くなります。また、連結により、誤って余分な %s を入れたり、抜け落ちたりする心配がなくなります。
String.format
も短くなります。
どちらがより読みやすいかは、あなたの頭の働き方によって決まります。
ベストアンサー1
を使用することをお勧めします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)