Java编程思想(十)
2019-05-21 本文已影响0人
MikeShine
第13章 字符串
这一章我们来大概看一下 java 中的 String 类。
13.1 不可变 String
String类对象是不可变的,书上给出了一个例子,用来说明String 对象作为参数时,都是传递一份赋值引用,原对象是还在原始的物理空间上不变。
13.2 重载“+” 与 StringBuilder
这一节想说,“+”可以被用来连接 String 对象,这算是一种对 + 的重载。
然后,作者对代码进行反编译,让我们看,其实编译器在上面 + 字符对象的过程中自动调用了 StringBuilder 类(虽然我们的代码中没有显示的调用这个类)。
之后,作者对比了两种连接String对象的方法,前者多次生成String对象,最后说明后者方法是更加简短、便捷。
最终,作者给出结论,说,如果在 你的 toString() 方法中只是简单的操作字符对象,那么没关系。但如果对字符操作比较复杂,最好自己创建一个StringBuilder对象。
个人感觉这一小节的东西,目前很长时间内还用不到,有一个基本概念就行了
13.3 无意识的递归
这里是说,如果在 toString 方法中想要打印出对象的内存地址,需要用 super.toString()方法
13.4 String上的操作
这里给出了String对象常用的方法。
13.5 格式化输出
13.5.1 printf()
从Java SE5之后,就推出了C语言风格的 printf() 格式化输出的功能。之前在C语言中学到过。
13.5.1 System.out.format()
基本和printf() 是等价的。
13.6 正则表达式
总结一下,这一章讲的许多都是非常细枝末节的东西,并不是很常用。所以大概过一下就好,知道有这么个东西,具体用到的时候再去具体查阅。