у меня есть вопрос, что лучший способ состоит в том, чтобы добавить ints и Строки для создания новой Строки? В отладчике выделения я вижу слишком много выделения, если я использую оператор +.
Но я попробовал также StringBuffer и существуют все еще слишком много выделения.
Кто-либо может помочь мне?
Спасибо
Используйте StringBuilder
или StringBuffer
, но с достаточной начальной емкостью, чтобы избежать перераспределения. Емкость по умолчанию равна 16, поэтому, как только вы превысите ее, данные придется скопировать в новое более крупное место. Используйте append
, а не +
.
int integer = 5;
StringBuilder s = new StringBuilder(100);
s.append("something");
s.append(integer);
s.append("more text");
Выделит 100 слотов заранее.
Ссылка: http://developer.android.com/reference/java/lang/StringBuilder.html
Вы указали, что вам нужно создать "новую строку", если вы создаете больше объектов, чем это, вы должны быть в состоянии оптимизировать их.
Примечание: возможно, можно убрать все выделения, но только передавая StringBuilder или что-то подобное на протяжении всей жизни созданной вами строки. Это может быть просто, а может и не быть, в зависимости от того, как вы будете это использовать.