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)若项目仍用 Java 8,可用简洁工具方法模拟:
public static String repeat(String s, int count) {
if (count return new String(new char[count]).replace("