在循环中使用/创建String对象的缺点

时间:2015-02-03 14:14:49

标签: java stringbuilder

有什么缺点:

for(int i=0;i<10;i++)
{
    String str = ""+i;
    System.out.println(str);
}

在:

 String str;
 for(int i=0;i<10;i++)
 {
     str = ""+i;
     System.out.println(str);
 }

 for(int i=0;i<10;i++)
 {
     StringBuilder strBld = new StringBuilder("Hello"+i);
     System.out.println(strBld.toString());
 }

关于在内存中创建的对象总数?

1 个答案:

答案 0 :(得分:1)

在所有三个场景中创建的

对象数量是相同的。

您可以使用

验证相同内容
 Runtime rt = Runtime.getRuntime();
 System.out.println("Free: " + rt.freeMemory());
  for(int i=0;i<10;i++)// To get a measurable diffrence iterate upto higher value
  {
     String str = ""+i;
     System.out.println(str);
  }
  System.out.println("Free: " + rt.freeMemory());

所以基于没有创建的对象,它们没有缺点。

如果你想知道when to use StringBuilder in java over String 检查提到的链接。