java中的字符串复制

时间:2012-11-27 10:52:43

标签: java string copy

  

可能重复:
  Java String pool object creation

如果我这样做

String one = "hai";
String Two = "hai";

是String Two只引用字符串1(与“hai存储”相同的内存位置)或者是否在其他地方创建了一个“hai”的新副本并指向它?

5 个答案:

答案 0 :(得分:12)

String one = "hai";
String two = "hai";

在Java中,字符串存储在常量池中,因此即使您按上述方式分配它们,它们仍然会引用同一个对象。

答案 1 :(得分:8)

这是同一个实例。您只是创建对同一对象的另一个引用

答案 2 :(得分:2)

String Two只是引用内存中的同一个对象。

答案 3 :(得分:0)

两个字符串变量指向堆内存中的相同数据。所以在堆内存中将一个和两个字符串指向hai。

答案 4 :(得分:0)

现在即使你这样做了

one=null;

然后“hai”将保留在内存中,变量2将引用该位置。 我希望它能清除这个概念。 :)