delete()中已经有StringBuffer。为什么我们需要deleteCharAt()?deleteCharAt(n)和delete(n, n+1)不会一样吗? 最佳答案 查看源代码可以发现delete()没有使用deleteCharAt(),反之亦然。我注意到一个小区别:如果index不在范围内,则deleteCharAt将引发Exception,而当第二个参数传递字符串长度时,delete将默认为字符串的长度。但是对字符串缓冲区内容的影响是相同的。