Вы могли бы сделать это (хотя и закодированы с точки зрения возникновения):
String value = "hi";
String interpolated = String.format(" %s %s %s %s ", IntStream.range(0, 4)
.mapToObj(i -> value)
.toArray());
Вы можете изменить его следующим образом:
public String repeat(String string, int nbRepeat){
return String.format(" " + IntStream.range(0, nbRepeat)
.mapToObj(i -> "%s")
.collect(Collectors.joining(" ")),
IntStream.range(0, nbRepeat)
.mapToObj(
i -> string)
.toArray());
}
И использовать его:
repeat("hi", 4);
repeat("ho", 6);