62,621
社区成员
发帖
与我相关
我的任务
分享
//这个是创建在字符串缓冲池中的,供其他引用使用,地址相同。
String str = "abc";
String str1 = "abc"+"de";//等同于str1 = "abcde",也是创建在缓冲池中的。
//如下则是创建在缓冲池外,但是同时也会在缓冲池内创建相同对象供其他引用使用。
String str2 = new String("abcdef");//这句话创建了两个对象,一个是缓冲池外的堆内存中,同时在缓冲
//池内也创建了相同对象。str2此时指向的是堆内存中的对象。
//总结:new出来的字符串肯定是在缓冲池外的也就是在堆内存中,地址各不相同,缓冲池内的对象则具备唯
// 一性,引用变量指向的都是同一个对象。