Звучит как хороший кандидат на использование StringBuilder:
http://developer.android.com/reference/java/lang/StringBuilder.html
Или StringBuffer:
http://developer.android.com/reference/java/lang/StringBuffer.html
Причина:
StringBuffer используется для хранения символьных строк, которые будут изменены (объекты String не могут быть изменены).Он автоматически расширяется по мере необходимости.Связанные классы: String, CharSequence.
StringBuilder был добавлен в Java 5. Он идентичен во всех отношениях StringBuffer, за исключением того, что он не синхронизирован, что означает, что если к нему одновременно обращаются несколько потоков, существуетмогут быть проблемы.Для однопоточных программ, наиболее распространенный случай, позволяющий избежать накладных расходов на синхронизацию, делает StringBuilder немного быстрее.
Редактировать: одна вещь, с которой вам следует быть осторожным, это то, как вы используете любой выбранный класс SB.Причина в том, что (то же самое в .Net), если у вас есть подобное использование
StringBuilder sb = new StringBuilder(score.ToString() + "hello, world!");
У вас все еще есть две операции конкатата строк, вы, возможно, фактически делаете 3 строки там, одна для score.ToString()
, один, чтобы превратить литерал "hello, world!"
в строку, и тот, который содержит два соединенных вместе.Чтобы получить наилучшие результаты, вам нужно использовать методы SB добавления / вставки / замены.