deleteCharAt 或 setLength,哪种方法最好从 StringBuilder/StringBuffer 中删除最后一个字符
2022-09-03 06:29:18
在许多情况下,我们需要删除 StringBuilder/StringBuffer 的最后一个字符。例如,给定一个 ,以实现一个方法,用逗号分隔符联系每个元素。输出应为 ,没有尾随逗号。int[]{1,2,3}
String toString(int[] a)
1,2,3
我们可以很容易地写一个循环:
int[] nums = new int[]{1,2,3,4,5};
StringBuilder sb = new StringBuilder();
for (int i = 0; i < nums.length; i++) {
sb.append(nums[i]);
sb.append(",");
}
//here we need to remove the tailing ','
但总是我们需要删除尾矿。有两种方法可以实现它:','
sb.deleteCharAt(sb.length() - 1);
和
sb.setLength(sb.length() - 1);
推荐哪一个?为什么?
注意:我知道有什么作用。这只是描述我的问题的一个例子,也许不太合适。这不是关于字符串串联的讨论,而是StringBuffer/StringBuilder的最佳实践。Arrays.toString