创建String对象时创建了多少个对象

时间:2014-10-01 12:34:17

标签: java string object

实际上我有点困惑,在下面的“代码处理”中创建了多少个对象。

String s=new String("A");
s=s+"B";

实际上有人说这里会创建4个对象,但是在整个处理过程中却有多么不明白。

请有人能给我详细说明还包括内存部分这样的字符串池等。

2 个答案:

答案 0 :(得分:6)

  • 创建的第一个String是文字"A",即如果没有实习 之前。
  • 第二个String是由new关键字生成的实例。
  • 第三个是文字"B",如果之前没有实习,也是s
  • 最后一个是"B"和{{1}}。
  • 的串联

答案 1 :(得分:2)

您有两个String个文字对象,即"A""B"。然后使用new String("A");显式实例化“A”的新实例。最后,当您执行String连接s+"B"

时,会创建第四个实例