Thinking|Thinking in Java 第十三章字符串读书笔记
【Thinking|Thinking in Java 第十三章字符串读书笔记】1.String 对象是不可变的,而 JDK 中每一个看起来会修改 String 的方法,实际上都是创建了一个全新的 String,而最初的 String 对象则丝毫未动。
2.当我们将 String 作为方法参数传入时,实际上传递的是引用的一个拷贝。
3.对于一个方法而言,参数是为该方法提供信息的,而不是想让该方法改变自己。
4.String 对象具有只读性,所以只想它的任何引用都不可能改变它的值。
5.我们都是用 "+" 来拼接两个字符串,而编译器其实自动引入了 StringBuilder 来帮我们进行拼接,例如以下代码:
//编译器底层调用了 StringBuilder 的 append() 然后调用了四次后,调用 toString 返回结果
String s = "abc" + "mango" + "def" + 47;
6.无意识的递归,重写 toString() 中使用 this,使得 this 隐式调用 toString(),从而陷入循环,如果想打印地址在应该调用 super.toString()。
正则表达是暂时跳过还未看。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机