java中String的疑惑

string字符串底层是用数组存储的,那为啥要用toCharArray方法转换呢?是忽略底层了吗

就像所有字符都是字节码表示的,为什么不直接用字节码表示呢?

取的时候直接用下标取就行了如图:

img

img

String底层的那个数组是用final修饰的,不能修改,如果直接返回这个数组,不能修改它的引用,而且多个String字符串相同,底层用的其实是同一个数组,你直接操作底层的那个数组,很大value相同的string值都会变化,如下图,可以看出两个String都是以的同一个数组

img