Ответ 1
str2 = new String(new char[10]).replace("\0", "hello");
note: этот ответ был первоначально размещен пользователем102008 здесь: Простой способ повторить строку в java
Я хочу, чтобы повторять строку текста "n" раз:
Что-то вроде этого -
String "X", user input = n, 5 = n, output: XXXXX
Надеюсь, это имеет смысл... (Пожалуйста, будьте как можно более конкретными)
str2 = new String(new char[10]).replace("\0", "hello");
note: этот ответ был первоначально размещен пользователем102008 здесь: Простой способ повторить строку в java
Чтобы повторить строку n раз, у нас есть метод repeat в классе Stringutils из Apache commons. В методе repeat мы можем указать String и количество повторений строки и разделитель, который разделяет повторяющиеся строки.
Пример: StringUtils.repeat("Hello"," ",2);
возвращает "Hello Hello"
В приведенном выше примере мы повторяем строку Hello два раза с пробелом в качестве разделителя. мы можем дать n раз по 3 аргумента и любой разделитель по второму аргументу.
Простой цикл сделает работу:
int n = 10;
String in = "foo";
String result = "";
for (int i = 0; i < n; ++i) {
result += in;
}
или для больших строк или более высоких значений n
:
int n = 100;
String in = "foobarbaz";
// the parameter to StringBuilder is optional, but it more optimal to tell it
// how much memory to preallocate for the string you're about to built with it.
StringBuilder b = new StringBuilder(n * in.length());
for (int i = 0; i < n; ++i) {
b.append(in);
}
String result = b.toString();