《Thanking in Java》13.字符串

13.1 不可变String

String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象。指向的引用对象其实一直待在单一的物理位置上。

13.2 重载+与StringBuilder

+重载的实现原理:自动引入了StringBuilder,因为更高效。在+时,调用了append方法。但并不意味着所有的情况都能使用+,因为在循环中,每次循环都在创建新的StringBuilder对象。

当编写toString方法时,如果字符串操作比较简单,那就可以信赖编译器,它会合理地构造最终的字符串结果。但是,如果要在toString方法中使用循环,那么最好自己创建一个StringBuilder对象,用它来构造最终的结果。

13.3 无意识的递归

容器都有toString方法,并且覆盖此方法使得它生成的String对象能够表达容器自身,以及容器所包含的对象。

打印内存地址时,不应该使用this直接打印,而是应该调用super.toString方法。

13.5 格式化输出

System.out.printf与System.out.format是等价的。

String.format是一个static方法,它接受与Formatter.format方法一样的参数,但返回一个String对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,673评论 3 93
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题...
    独念白阅读 1,428评论 0 3
  • 你好,这里不着子,欢迎来到日有记也,这是距离上一篇有三个月时间的推送,好久不见。 今天的内容是一篇关于个人感受的碎...
    不着子阅读 237评论 0 0