String prefix = "";
for (String serverId : serverIds) {
sb.append(prefix);
prefix = ",";
sb.append(serverId);
}
Следующий код работает быстрее, чем приведенный выше код. префиксный объект «,» делает ненужное создание объекта на каждой итерации. Приведенный выше код занимает 86324 nano секунд, а мой занимает всего 68165 nano секунд.Удалить разделитель, в конце
List<String> l = Arrays.asList("SURESH1","SURESH2","SURESH4","SURESH5");
StringBuffer l1 = new StringBuffer();
int sz = l.size();
int i=0; long t =
System.nanoTime();
for (String s : l)
{
l1.append(s);
if (i != sz-1)
l1.append(","); i++;
}
}
long t2 = System.nanoTime();
System.out.println ((t2-t)); System.out.println(l1);
// The time taken for the above code is 68165 nano seconds
SURESH1,SURESH2,SURESH4,SURESH5
любезно сообщите мне, какой из них лучше ур.
Возможный дубликат [(java) Удалить последний символ StringBuilder?] (Http://stackoverflow.com/questions/3395286/java-remove-last-character-of-a-stringbuilder) –
Ой, ошибочно закрыть голос. –
@ jon skeet, я знаю, что это дубликат, никто не отвечает, поэтому создавайте новые, извиняйтесь. дайте мне знать, какой код работает быстрее. –