在程序中创建的字符串对象数

时间:2017-03-20 12:32:21

标签: java string

String s1="abc";                  //line 1
String s2 = new String ("abc");   //line 2
String s3 = "abc";                //line 3
String s4 = s1+s2+s3;             //line 4

我需要知道总共创建了多少个对象(堆和SCP区域)。

在第1行,SCP中的一个对象“abc”

在第2行,堆中有一个对象“abc”

在第3行,s3指出SCP中已存在的对象“abc”

直到这一点,有2个对象。我无法确切知道第4行之后的确切数量。有没有办法找出在这些情况下使用java程序创建了多少个对象?

1 个答案:

答案 0 :(得分:0)

我认为您无法检查使用java代码创建的对象数量。 执行第4行后,将创建总共4个对象。

  1. “abc”(堆内存)
  2. “abc”(SCP)
  3. “abcabc”(SCP)
  4. “abcabcabc”(SCP)。