最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Java中 String repeat 方法重复生成字符串如何使用
时间:2026-07-27 07:58:53 编辑:袖梨 来源:一聚教程网
String.repeat()是Java 11引入的方法,用于将字符串重复指定非负整数次:count为0时返回空字符串,为1时返回原字符串,大于1时返回拼接后的新字符串。
String.repeat() 是 Java 11 引入的便捷方法,用于将一个字符串重复指定次数,生成新字符串。它简单、不可变、线程安全,无需手动拼接或循环。
基本用法:传入非负整数次数
调用方式为 str.repeat(count),其中 count 必须 ≥ 0:
- 若
count == 0,返回空字符串"" - 若
count == 1,返回原字符串(不创建新对象,但语义上仍是新引用) - 若
count > 1,返回由原字符串重复拼接而成的新字符串 - 若
count ,抛出 <code>IllegalArgumentException
例如:"ab".repeat(3) → "ababab""x".repeat(0) → """ ".repeat(5) → " "(5个空格)
常见实用场景
该方法特别适合生成格式化填充、占位符或简单模板:
-
缩进或对齐:如
" ".repeat(level)生成缩进空格 -
分隔线:如
"=".repeat(40)快速生成 40 个等号的横线 -
重复字符提示:如
"⚠".repeat(3)得到"⚠⚠⚠" -
构建固定长度字符串:配合
substring()截取,可补全或截断(注意:repeat 本身不截断)
注意事项与限制
使用时需留意以下几点:
立即学习“Java免费学习笔记(深入)”;
- 结果字符串长度 = 原字符串长度 × 次数;若乘积超过
Integer.MAX_VALUE(约 21 亿),会抛出OutOfMemoryError或IllegalArgumentException(取决于 JVM 实现) - 空字符串
""调用repeat(n)始终返回""(无论 n 多大,只要 n ≥ 0) - 该方法不会修改原字符串(String 不可变),始终返回新对象
- 低于 Java 11 的版本不支持,需自行实现(如用 StringBuilder 循环 append)或升级 JDK
替代方案(Java 11 之前)
若项目仍用 Java 8,可用简洁工具方法模拟:
public static String repeat(String s, int count) {
if (count return new String(new char[count]).replace("