本帖最后由 D.reamJA 于 2014-10-20 08:23 编辑
- String s1="abc";
- String s2="abc";
- String s3=new String("abc");
复制代码
我自己理解的,但是不知道对不对,请各位指教。
首先s1在堆内存中创建了一个对象,然后去常量池查找adc,有就直接在对象中引用,没有就在常量池写一个adc。
s2先去常量池查找adc,发现有值。然后直接引用s1在堆内存中的对象。
s3先创建一个String对象,然后查找常量池中的值,发现有adc,然后再新创建的String对象中,引用s1对象的地址.
我这么理解对么??
|