Maison  >  Article  >  Java  >  En Java, comment comparer StringBuilder et StringBuffer ?

En Java, comment comparer StringBuilder et StringBuffer ?

王林
王林avant
2023-08-28 15:57:061078parcourir

Les objets

En Java, comment comparer StringBuilder et StringBuffer ?

StringBuffer sont généralement sûrs à utiliser dans des environnements multithread, où plusieurs threads peuvent essayer d'accéder au même objet StringBuffer en même temps. StringBuilder est un remplacement thread-safe de la classe StringBuffer, qui fonctionne beaucoup plus rapidement car elle n'a pas de méthodes synchronisées>. Si nous effectuons de nombreuses opérations sur les chaînes dans un seul thread, l'utilisation de cette classe peut améliorer les performances.

Exemple

public class CompareBuilderwithBufferTest {
   public static void main(String []args) {
<strong>     </strong> stringBufferTest();
      stringBuilderTest();<strong>
</strong>   }
   public static void stringBufferTest() {
      long startTime = System.nanoTime();
      StringBuffer sb = new StringBuffer();
      for (int i=0; i < 1000; i++) {
         sb.append((char) &#39;a&#39;);
      }
      System.out.println("StringBuffer test: " + (System.nanoTime() - startTime));
   }
   public static void stringBuilderTest()<strong> </strong>{
      long startTime = System.nanoTime();
      StringBuilder sb = new StringBuilder();
      for (int i=0; i < 1000; i++) {
         sb.append((char) &#39;a&#39;);
      }
      System.out.println("StringBuilder test: " + (System.nanoTime() - startTime));
   }
}

Sortie

StringBuffer test: 192595
StringBuilder test: 85733

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer