Effective Java(二)—— 循环与 StringBuilder

来源:互联网 发布:数组词有哪些 编辑:程序博客网 时间:2024/06/17 18:03

当需要为一个类编写 toString() 方法时,如果字符串操作比较简单,便可以信赖编译器,它会为你合理地构造最终的字符串结果(而不会不断创建冗余的中间变量)。

String mongo = "mongo";String s = "abc" + "mongo" + "def" + 47;        // StringBuilder.apppend("abc").append(mongo).append("def").append(47)        // StringBuilder.toString() ⇒ s

但如果要在 toString() 方法中使用循环,那么最好自己创建(而不是交由编译器)一个 StringBuilder 对象,用它来构造最终的结果。

StringBuilder result = new StringBuilder();for () {    result.append(...);}return result.toString();

1. String 与 StringBuilder

String 对象是不可变的,你可以赋给一个 String 对象任意多的别名。因为 String 对象具有只读特性,指向它的任何引用都不可能改变它的值。因此,也就不会对其他的引用有什么影响。

2. StringBuilder 丰富的成员函数

  • 最常用的:append(), toString()
  • insert(), replace(), substring(), reverse()
  • delete(start, end):注意端点的开闭性;

    • 比如删除末尾的两个元素:
    delete(seq.length()-2, seq.length())
原创粉丝点击