|
Η συμβολοσειρά είναι η πιο πιθανή μεταβλητή που χρησιμοποιείται στον προγραμματισμό Java, ίσως νομίζετε ότι δεν υπάρχει τίποτα να πείτε, απλώς σηκώστε το, αλλά η επεξεργασία των συμβολοσειρών χρειάζεται ιδιαίτερα την προσοχή μας, επειδή η τυχαία δημιουργία μεγάλου αριθμού περιπτώσεων συμβολοσειρών φέρνει μεγάλα προβλήματα στην αποτελεσματικότητα του συστήματος. Για παράδειγμα, ας κάνουμε μια δοκιμή για να συγκρίνουμε την αποτελεσματικότητα εκτέλεσης της κλάσης String και του StringBuffer: Ο δάσκαλός μας είπε: Κάθε φορά που προστίθεται το String, θα ζητά χώρο από τη μνήμη ξανά και ξανά, κάτι που είναι πολύ αναποτελεσματικό Κάθε φορά που προστίθεται το StringBuffer, δεν χρειάζεται να ζητάτε χώρο από τη μνήμη ταυτόχρονα, επειδή το StringBuffer ζητά πολύ χώρο στη μνήμη από την αρχή, επομένως είναι πολύ αποτελεσματικό.
- 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运行完时间");
-
- }
- }
Αντιγραφή κώδικα
|