2015-02-03 2 views
-1

Что является недостатком:Недостатки использования/создания объектов типа String в цикле

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

Номер объекта, созданный во всех трех сценариях такие же.

Вы можете проверить то же самое с помощью

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 Проверьте упомянутую ссылку.

Смежные вопросы