我在现有的 Java 程序代码中发现了以下片段:
StringBuffer b = new Stringbuffer()
// fill the StringBuffer
(...)
String temp = b.toString();
return temp.subSequence(0, b.toString().length() - 1);
我不明白他们为什么要从位置 0 到结尾做一个 subSequence
...
StringBuilder转String后的格式有那么难看吗?
他们,他们写的这段代码已经不在我公司了,所以我不能问他们...
希望大家能帮帮我。
最佳答案
想法是从末尾去掉一个字符,注意所有 Java 标准库类都遵循关于开始/结束索引参数的约定,星号包含在内,结尾不包含在内。我也同意代码很丑,应该是
...
return b.subSequence(0, b.length() - 1);
它更短,也更高效。 StringBuffer 也是一个遗留类,您可以用更快的 StringBuilder 替换它
关于java - 将 Stringbuffer 转换为 String() 后调用 String subSequence(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18143190/