|
Reťazec je najpravdepodobnejšia premenná používaná v programovaní v Jave, možno si myslíte, že nie je čo povedať, jednoducho si to vezmite, ale spracovanie reťazcov si vyžaduje našu pozornosť najviac, pretože náhodné vytváranie veľkého počtu inštancií reťazcov prináša veľké problémy s efektivitou systému. Napríklad urobme test na porovnanie efektivity vykonávania triedy String a StringBuffer: Náš učiteľ povedal: Pri každom pridaní Stringu bude opakovane žiadať priestor z pamäte, čo je veľmi neefektívne Pri každom pridaní StringBufferu nie je potrebné žiadať priestor z pamäte naraz, pretože StringBuffer vyžaduje veľa pamäťového priestoru od začiatku, takže je veľmi efektívny.
- import java.util.Date;
- public class test {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // 武软论坛 www.itsvse.com
- Date da=new Date();
- System.out.println(da.toLocaleString());
- System.out.println("系统时间");
-
- String str1="1";
- for(int i=1;i<100000;i++){
- str1=str1+"1";
- }
- da=new Date();
- System.out.println(da.toLocaleString());
- System.out.println("String运行完时间");
-
- StringBuffer str2=new StringBuffer(1000);
-
- for(int i=1;i<100000;i++){
- str2.append("1");
- }
- da=new Date();
- System.out.println(da.toLocaleString());
- System.out.println("StringBuffer运行完时间");
-
- }
- }
Kopírovať kód
|