Comparaison de StringBuffer et StringBuilder en Java
StringBuffer et StringBuilder sont deux classes de java, qui sont utilisées pour string. Ceux-ci sont utilisés chaque fois que de nombreuses modifications sont nécessaires pour les chaînes. StringBuffer et StringBuilder les objets peuvent être modifiés encore et encore.
La seule différence entre StringBuffer et String Builder est que les méthodes StringBuilder ne sont pas synchronisées, c'est-à-dire qu'elles ne sont pas thread-safe car deux threads peuvent appeler les méthodes StringBuilder simultanément. D'autre part, String Buffer est thread-safe.
Il est préférable d'utiliser StringBuilder car il est beaucoup plus rapide que String Buffer.
Prenons un exemple pour vérifier lequel est le plus rapide.
public class ExComparison2 { public static void main(String arg[]) { long st,et; StringBuffer str1=new StringBuffer();// String buffer class object st=System.currentTimeMillis(); // recording current time for(int i=0;i<1000000;i++) { //append method of string buffer add the data in string object. str1.append("Testing StringBuffer "); } et=System.currentTimeMillis(); System.out.println("String Buffer Takes "+(et-st)+" milliSeconds"); //(et-st) shows the time taken by the String buffer. StringBuilder str2=new StringBuilder();//String Builder class object st=System.currentTimeMillis(); for(int i=0;i<1000000;i++) { //append method of string buffer add the data in string object. str2.append("Testing StringBuffer "); } et=System.currentTimeMillis(); System.out.println("String Builder Takes "+(et-st)+" milliSeconds"); ////(et-st) shows the time taken by the String builder. } }
Sortie
Comme vous pouvez le voir StringBuilder prend moins de temps que StringBuffer .