有什么缺点:
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());
}
关于在内存中创建的对象总数?
答案 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 检查提到的链接。