当需要为一个类编写 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())

最新文章

  1. Squid 和 SNAT 上网
  2. 解决网站在负载均衡环境下SESSION丢失的问题
  3. FAQ: Automatic Statistics Collection (文档 ID 1233203.1)
  4. Collection 和 Collections的区别。
  5. Tomcat在Linux上安装
  6. Linux的cron和crontab
  7. Java并发包基石-AQS详解
  8. shell运算符之 关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符
  9. Hibernate由model类自动同步数据库表结构
  10. 项目实战-使用PySpark处理文本多分类问题
  11. CentOS 7下 部署Redis-cluster集群
  12. Oracle 不小心删除undo数据文件以及磁盘空间不足导致不能登录的解决办法
  13. $Django 客户端->wsgi->中间组件->urls->views(model,template) 总结+补充(事物,choices,inclusion_tag)!
  14. Python接收执行参数
  15. weight decay(权值衰减)、momentum(冲量)和normalization
  16. 【Hadoop】Hadoop 中 RPC框架原理、代码示例
  17. 转: Android Studio你不知道的调试技巧
  18. [Luogu3769][CH弱省胡策R2]TATT
  19. git rm简介
  20. MATLAB中的概率论与数理统计

热门文章

  1. Python初学1
  2. html——相对路径、绝对路径(有待补充....)
  3. SQL基本操作——HAVING
  4. 控制台——EventLog实现事件日志操作
  5. [Windows Server 2012] 杰奇CMS安全设置
  6. Python_多线程1(创建线程,简单线程同步)
  7. Mysql 之show status数据详解
  8. java同学毕业后学习之路建议
  9. BZOJ 2276: [Poi2011]Temperature 单调队列
  10. 【VIP视频网站项目三】项目框架搭建、项目路由配置、数据库表结构设计