Effective Java(二)—— 循环与 StringBuilder
2024-08-31 06:19:22
当需要为一个类编写 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())
最新文章
- Squid 和 SNAT 上网
- 解决网站在负载均衡环境下SESSION丢失的问题
- FAQ: Automatic Statistics Collection (文档 ID 1233203.1)
- Collection 和 Collections的区别。
- Tomcat在Linux上安装
- Linux的cron和crontab
- Java并发包基石-AQS详解
- shell运算符之 关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符
- Hibernate由model类自动同步数据库表结构
- 项目实战-使用PySpark处理文本多分类问题
- CentOS 7下 部署Redis-cluster集群
- Oracle 不小心删除undo数据文件以及磁盘空间不足导致不能登录的解决办法
- $Django 客户端->;wsgi->;中间组件->;urls->;views(model,template) 总结+补充(事物,choices,inclusion_tag)!
- Python接收执行参数
- weight decay(权值衰减)、momentum(冲量)和normalization
- 【Hadoop】Hadoop 中 RPC框架原理、代码示例
- 转: Android Studio你不知道的调试技巧
- [Luogu3769][CH弱省胡策R2]TATT
- git rm简介
- MATLAB中的概率论与数理统计
热门文章
- Python初学1
- html——相对路径、绝对路径(有待补充....)
- SQL基本操作——HAVING
- 控制台——EventLog实现事件日志操作
- [Windows Server 2012] 杰奇CMS安全设置
- Python_多线程1(创建线程,简单线程同步)
- Mysql 之show status数据详解
- java同学毕业后学习之路建议
- BZOJ 2276: [Poi2011]Temperature 单调队列
- 【VIP视频网站项目三】项目框架搭建、项目路由配置、数据库表结构设计