org.apache.commons.lang.StringUtils的函数实现
public static String join(Object[] array, char separator) {
if (array == null) {
return null;
}
int arraySize = array.length;
int bufSize = (arraySize == 0 ? 0 : ((array[0] == null ? 16 : array[0].toString().length()) + 1) * arraySize);
StringBuffer buf = new StringBuffer(bufSize);
for (int i = 0; i < arraySize; i++) {
if (i > 0) {
buf.append(separator);
}
if (array[i] != null) {
buf.append(array[i]);
}
}
return buf.toString();
}
1.使用StringBuffer进行实现,效率高;
2.追加分隔符方式,以前实现方式在元素后加,所以最后要做一个验证,逆向思考一下,在元素前代码更规范;
3.利用条件运算符;