String.repeat()是Java 11引入的方法,接收整数count参数返回重复count次的新字符串;count≤0时返回空串,空字符串重复结果仍为空串,长度超Integer.MAX_VALUE抛异常。

Java 中的 String.repeat() 方法是 Java 11 引入的便捷工具,能直接对字符串进行重复拼接,无需手动循环或借助 StringBuilder。
repeat 方法的基本用法
该方法接收一个整数参数 count,表示重复次数。返回一个新的字符串,由原字符串重复 count 次组成。
- 如果
count为 0 或负数,返回空字符串"" - 如果原字符串为空(
""),无论count多大,结果仍是空字符串 - 重复后字符串长度不能超过
Integer.MAX_VALUE,否则抛出IllegalArgumentException
常见实用场景示例
适合生成分隔线、缩进、占位符、简单模板填充等:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
打印分隔线:
"=".repeat(50)→ 生成 50 个等号的横线 -
缩进控制:
" ".repeat(3)→ 生成 6 个空格,相当于 3 层缩进 -
构造重复字符序列:
"*".repeat(10)→"**********" -
与其它字符串拼接:
"【" + "★".repeat(5) + "】"→"【★★★★★】"
注意事项和替代方案
该方法不可用于 null 字符串,调用前需判空;若需兼容 Java 8 及更早版本,可自行封装或使用 Apache Commons Lang 的 StringUtils.repeat()。
立即学习“Java免费学习笔记(深入)”;
- 避免在循环内高频调用大数量重复(如
"a".repeat(1000000)),可能触发内存或性能问题 - 重复次数为变量时建议加校验,防止意外传入负数或超大值
- 若需带间隔符的重复(如逗号分隔),
repeat()不适用,应改用String.join()或流式处理
不复杂但容易忽略:它只做简单重复,不支持插值或动态内容,用对场景才真正省事。

















