DESKTOP-GVU7VL7_20200828-陈小丽
遇到的问题
String实例的存储有乱,“ ”双引号里面的都存在池中。
public static void main(String[] args){
chan[] c={'a' , 'b' , 'c'};
String x=new String (c); //存在堆区
String s="abc"; // 存在池中
String a=new String("abc"); //存在堆中还是存在池中?
}
解决:
引用变量 x 指向的String实例存在堆中,与池毫无关系。
引用变量 s 指向的String实例毫无疑问存在池中。
引用变量 a 指向的String实例是存在堆中的,但是”abc“是存在池中的,因为a指向的实例中的value数组,coder,hash都是复制的s指向的实例中的这三个变量的值。
吐槽
点赞