实际上我有点困惑,在下面的“代码处理”中创建了多少个对象。
String s=new String("A");
s=s+"B";
实际上有人说这里会创建4个对象,但是在整个处理过程中却有多么不明白。
请有人能给我详细说明还包括内存部分这样的字符串池等。
答案 0 :(得分:6)
String
是文字"A"
,即如果没有实习
之前。 String
是由new
关键字生成的实例。 "B"
,如果之前没有实习,也是s
。"B"
和{{1}}。答案 1 :(得分:2)
您有两个String
个文字对象,即"A"
和"B"
。然后使用new String("A");
显式实例化“A”的新实例。最后,当您执行String
连接s+"B"