2013-05-29 3 views
4

В Python, есть * оператор для строк, я не уверен, что это называется, но он делает это:* для строк в Java

>>> "h" * 9 
"hhhhhhhhh" 

Есть ли оператор в Java, как в Python *?

+1

Что это будет делать – PSR

+8

На Java нет такого оператора. –

+1

Возможный дубликат [Простой способ повторить строку в java] (http://stackoverflow.com/questions/1235179/simple-way-to-repeat-a-string-in-java) –

ответ

5

Я думаю, что самый простой способ сделать это в Яве с петлей:

String string = ""; 
for(int i=0; i<9; i++) 
{ 
    string+="h"; 
} 
+2

Обратите внимание, что если вы Собираясь делать LOT конкатенаций, вы должны использовать StringBuilder для производительности. (Следствие: если он заканчивается в мгновение ока, никакой оптимизации не требуется.) – Patashu

+0

Действительно, это правда. Спасибо, что указали это. –

+2

Строка + = Строка в цикле - это чистое зло –

9

Многие библиотеки имеют такие вспомогательные методы.

E.g. Guava:

String s = Strings.repeat("*",9); 

или Apache Commons/Lang:

String s = StringUtils.repeat("*", 9); 

Оба этих классы также есть методы для подушечки начала строкового или конца до определенной длины с указанным символом.

3

вы можете использовать что-то вроде этого:

String str = "abc"; 
String repeated = StringUtils.repeat(str, 3); 

repeated.equals("abcabcabc"); 
+3

Возможно, вы захотите добавить примечание о том, откуда приходит строка «StringUtils». –

+0

Вы правы, вы должны использовать библиотеки apache (common-lang). – Yassering

1
  • кажется, что оператор повторить

Использование Apache библиотеки (общего Ланг): Stringutils.repeat (ул, пь)

2

В Java нет такого оператора, но вы можете использовать Arrays.fill() или Apache Commons StringUtils.repeat() для достижения этого результата:

Предполагая

char src = 'x'; 
    String out; 

с Arrays.fill()

char[] arr = new char[10] ; 
    Arrays.fill(arr,src);   
    out = new String(arr); 

с StringUtils.repeat()

out = StringUtils.repeat(src, 10); 
0

Нет такого оператора, но вы можете присвоить значение «h» переменной и использовать цикл for, чтобы напечатать переменную требуемое количество раз.

Смежные вопросы