String.repeat()
ループを使わずに文字列をn回繰り返す。
コード比較
✕ Java 8
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 3; i++) {
sb.append("abc");
}
String result = sb.toString();
✓ Java 11+
String result = "abc".repeat(3); // "abcabcabc"
このコードに問題がありますか? お知らせください。
モダンな方法が優れている理由
ワンライナー
5行のStringBuilderコードを1回の呼び出しに置き換えられます。
最適化済み
大きな繰り返しに対して内部実装が最適化されています。
意図が明確
repeat(3)は目的が一目でわかります。
旧来のアプローチ
StringBuilderループ
モダンなアプローチ
repeat()
JDKバージョン
11
難易度
初級
JDKサポート
String.repeat()
利用可能
JDK 11(2018年9月)以降、広く利用可能
仕組み
String.repeat(int)は文字列をn回連結した結果を返します。エッジケースも考慮済みで、repeat(0)は空文字列を返し、repeat(1)は同じ文字列を返します。
関連ドキュメント