PDF 课件和源代码下载地址:
https://gitee.com/geektime-geekbang/LetsJava
作者回复: StringBuffer 和 StringBuilder 最大的区别是StringBuffer是线程安全的。现在还没有讲线程,多线程,synchronized,所以讲StringBuffer无从下口。其实现在很少有用到StringBuffer的。构建一个String还要需要线程安全保护的场景不多。
作者回复: 在这个例子里没太大区别,println会帮忙调用toString方法的。但是大多数地方用到的参数会是String而不是StringBuffer,这就要toString一下子
作者回复: 有时候配合indexOf使用,比较方便,比如有个String是"abc-def",你想找到第一个“-”前面的子字符串,那么就是subString(0, str.indexOf('-'))就可以了。当然如果你想找到后面的,还得+1,subString(str.indexOf('-'), str.length()),但是这时候str.length()就不用-1了,因为不包括在内。总归这个事情有一个地方要麻烦一下,我觉得不包括end,还算可以。
作者回复: 问的好. 其实不调更安全. 不调的话即使引用为null, 也不会出错. 但是如果调的话, 引用为null就会出NullPointerException.
作者回复: 是的
作者回复: 代码贴出来看看?