一、字符串的不可变性
图解Java字符串的不变性

image.png

image.png

image.png
二、JDK 6 和 JDK 7 中 substring 的原理及区别
目前大多数企业用的是JDK8和JDK7,因此这个问题已经是比较老的问题了,解决思想可以理解下
jdk1.6

1.6
jdk1.7

image.png
三、replaceFirst、replaceAll、replace 区别

image.png

image.png
四、String 对“+”的重载、字符串拼接的几种方式和区别
1、String 对“+”的重载

image.png

image.png
2、字符串拼接的几种方式和区别

image.png

image.png
五、String.valueOf 和 Integer.toString 的区别

image.png

image.png

image.png
六、switch 对 String 的支持
java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止switch支持这样几种数据类型:byte short int char String 。

image.png

image.png

image.png
七、字符串池、常量池(运行时常量池、Class 常量池)、intern
1、字符串常量池

image.png

image.png
2、class常量池

image.png
3、intern

image.png

image.png

image.png