2024-11-08 03:07:49
2024-11-08 02:23:29
这是两种形式来创建String对象。
Java内存有【堆】和【栈】;
第一种是先在栈中创建一个对String类的对象引用变量str,然后查找栈中有没有存放"abc",如果没有,则将"abc"存放进栈,并令str指向”abc”,如果已经有”abc” 则直接令str指向“abc”。
第二种是用new()来新建对象的,它会在存放于堆中。每调用一次就会创建一个新的对象。
String str1 = "abc";
String str2 = "abc";
String str3 =new String ("abc");
String str4 =new String ("abc");
如上定义:str1和str2指向的是内存中同一个对象,str3和str4则是不同的对象。到此应该有些感觉了哈。
需要注意的是:String str="abc";这个定义感觉上是创建了String类的对象str,但实际上可能并没有被创建,只是找到了之前已经存在的一个对象。
2024-11-08 00:08:41