??Originariamente inviato da Naruto 92
si, ma visto che non deve fare elaborazioni sulla serie di passwords, è sprecato usare uno StringBuilder (così come uno StringBuffer).
Nel tuo esempio stai chiamando 20000 volte la seguente linea di codice:
passwords += rnd.nextInt(10);
Con passwords un oggetto di classe String. Poiché in Java un oggetto String è immutabile, ogni volta che fai una modifica in realtà vai a creare un nuovo oggetto String. Fintanto che si tratta di stringhe piccole può andare bene, con stringhe più grandi no in quanto ogni volta la nuova stringa deve essere copiata nella vecchia, con spreco di tempo e memoria. Nel tuo esempio quindi vai a creare 20000 nuove stringhe, ognuna di un carattere più grande della precedente. Molto molto inefficiente.
StringBuilder/Buffer servono proprio a questo.

Rispondi quotando