文字列をn回繰り返すことができる、シンプルな commons メソッドまたは演算子を探しています。 for ループを使用してこれを記述できることはわかっていますが、必要な場合は for ループを避けたいので、どこかにシンプルで直接的なメソッドが存在する必要があります。
String str = "abc";
String repeated = str.repeat(3);
repeated.equals("abcabcabc");
関連:
文字列を繰り返す javascript 別の文字列を指定された回数繰り返して NSString を作成します。
編集済み
以下の理由により、絶対に必要でない場合は for ループを避けるようにしています。
これらは、別の関数に隠されている場合でも、コードの行数が増加します。
私のコードを読む人は、私が for ループで何をしているのかを理解する必要があります。たとえコメントが付けられていて、意味のある変数名が付けられていたとしても、それが「賢い」ことではないことを確認する必要があります。
プログラマーは for ループに巧妙なことを盛り込むのが大好きです。たとえ私が「意図されたことだけを行う」ように書いたとしても、誰かがやって来て巧妙な「修正」を加える可能性を排除するものではありません。
これらは非常に頻繁に間違えられます。インデックスを含む for ループでは、1 つずれたバグが発生する傾向があります。
for ループでは同じ変数が再利用されることが多く、スコープのバグを見つけるのが非常に困難になる可能性が高くなります。
For ループにより、バグハンターが調べる必要がある場所の数が増えます。
ベストアンサー1
最も短いバージョンは次のとおりです (Java 1.5 以上が必要です)。
repeated = new String(new char[n]).replace("\0", s);
はn
文字列を繰り返す回数、s
は繰り返す文字列です。
インポートやライブラリは必要ありません。