StringBuffer is synchronized for thread safety, use a StringBuilder instead.
Don't call list.size() each iteration of the loop. Either set it as a variable or use an Iterator.
Also note that there are lot of libraries for doing this, chiefly google collections. Try the following:
public String join(List<?> list, char delimiter) {
StringBuilder result = new StringBuilder();
for (Iterator<?> i = list.iterator(); i.hasNext();) {
result.append(i.next());
if (i.hasNext()) {
result.append(delimiter);
}
}
return result.toString();
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…