说到字符串大家都不会陌生的,每个人都会用到的,再编程里面无处不在,今天我来详细的用我的思路来解释细节!
你知道String类有几种赋值的方式吗?
第一种就是通过字面量的赋值方式
我先讲讲内存的结构, 通过字面量赋值的方式,这个时候会在方法区中的字符串常量池中划分一个空间,存放的就是我们的字符串,这个字符串常量池很特别,里面的内容不可能会相同,通俗的讲就是每个字符串都是唯一的,当我们调用方法想改变这个字符串的时候是不可能的,因为字符串是不可变的,它的特点就是不可变。
第二种就是通过构造器的赋值方式
你认为这个方式生成的几个对象呢?你是不是想到只有一个,哈哈,那说明回答错误了,其实是两个!为什么是两个呢?这个就关于构造器底层的实现了,当我们通过这样方式内部其实有一个char[]字符数组,所以说是两个对象!