代码对比
✕ 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 代码。
意图清晰
"=-".repeat(20) 明确表达意图。
无循环
无需手动维护计数器和 StringBuilder。
旧方式
StringBuilder 循环
现代方式
repeat()
自 JDK
11
难度
入门
JDK 支持
String.repeat()
可用
自 JDK 11 起广泛可用(2018 年 9 月)
工作原理
String.repeat(int) 返回字符串与自身拼接 n 次的结果。对于 0 返回空字符串,对于负数抛出 IllegalArgumentException。
相关文档