小编Yog*_*kar的帖子

为什么在堆中创建字符串对象和字符串文字的串联?

我有下面的字符串

String str1 = "Abc";//created in constant pool
String str2 = "XYZ";//created in constant pool
String str3 = str1 + str2;//created in constant pool
String str4 = new String("PQR");//created in heap
String str5 = str1.concat(str4);//created in heap 
String str6 = str1 + str4;//created in heap
Run Code Online (Sandbox Code Playgroud)

在这里,我不知道为什么将字符串(在常量池中创建,而另一个在堆中创建)的串联导致在堆中创建新字符串String。我不知道原因,为什么会发生?

java string

8
推荐指数
1
解决办法
105
查看次数

标签 统计

java ×1

string ×1