Categories: Allgemein

Unterschied zwischen StringBuffer und StringBuilder

Java bietet drei Klassen zur Darstellung einer Zeichenfolge: String, StringBuffer und StringBuilder. Die Klasse String ist eine unveränderliche Klasse, während die Klassen StringBuffer und StringBuilder veränderbar sind. Es gibt viele Unterschiede zwischen StringBuffer und StringBuilder. Die StringBuilder-Klasse wird seit JDK 1.5 eingeführt.

Eine Liste der Unterschiede zwischen StringBuffer und StringBuilder ist unten angegeben:

Nein.ZeichenfolgenpufferStringBuilder
1)StringBuffer ist synchronisiert , dh threadsicher. Dies bedeutet, dass zwei Threads die Methoden von StringBuffer nicht gleichzeitig aufrufen können.StringBuilder ist nicht synchronisiert , dh nicht Thread-sicher. Dies bedeutet, dass zwei Threads die Methoden von StringBuilder gleichzeitig aufrufen können.
2)StringBuffer ist weniger effizient als StringBuilder.StringBuilder ist effizienter als StringBuffer.
3)StringBuffer wurde in Java 1.0 eingeführtStringBuilder wurde in Java 1.5 eingeführt

StringBuffer-Beispiel

BufferTest.java

  1. //Java-Programm zur Demonstration der Verwendung der StringBuffer-Klasse.  
  2. öffentliche Klasse  BufferTest{   
  3.     public static void  main(String[] args){    
  4.         StringBuffer Puffer = neuer  StringBuffer( “Hallo” );  
  5.         Buffer.append( “java” );  
  6.         System.out.println (Puffer);  
  7.     }  
  8. }  

Ausgabe:

hallo java

StringBuilder-Beispiel

BuilderTest.java

  1. //Java-Programm zur Demonstration der Verwendung der StringBuilder-Klasse.  
  2. öffentliche Klasse  BuilderTest{   
  3.     public static void  main(String[] args){    
  4.         StringBuilder builder= new  StringBuilder( “Hallo” );  
  5.         builder.append( “java” );  
  6.         System.out.println (Builder);  
  7.     }  
  8. }  

Ausgabe:

hallo java

Leistungstest von StringBuffer und StringBuilder

Sehen wir uns den Code an, um die Leistung der Klassen StringBuffer und StringBuilder zu überprüfen.

ConcatTest.java

  1. //Java-Programm zur Demonstration der Leistung der Klassen StringBuffer und StringBuilder.  
  2. öffentliche Klasse  ConcatTest{   
  3.     public static void  main(String[] args){    
  4.         lange  Startzeit = System.aktuelleZeitMillis();  
  5.         StringBuffer sb =  new  StringBuffer( “Java” );  
  6.         für  ( int  i= 0 ; i< 10000 ; i++){  
  7.             sb.append( “Tpoint” );  
  8.         }  
  9.         System.out.println( “Von StringBuffer benötigte Zeit: ”  + (System.currentTimeMillis() – startTime) +  “ms” );  
  10.         startTime = System.aktuelleZeitMillis();  
  11.         StringBuilder sb2 =  new  StringBuilder( “Java” );  
  12.         für  ( int  i= 0 ; i< 10000 ; i++){  
  13.             sb2.append( “Tpoint” );  
  14.         }  
  15.         System.out.println( “Vom StringBuilder benötigte Zeit: ”  + (System.currentTimeMillis() – startTime) +  “ms” );  
  16.     }  
  17. }  

Ausgabe:

Von StringBuffer benötigte Zeit: 16 ms
Von StringBuilder benötigte Zeit: 0 ms
osky

Recent Posts

Freeway vs. Highway: Ein detaillierter Blick auf die Feinen Unterschiede im Straßenverkehr

Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…

6 Monaten ago

Burrito vs. Enchilada: Die Feinen Unterschiede Zwischen Zwei Klassikern der Mexikanischen Küche

Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…

6 Monaten ago

Ein umfassender Vergleich zwischen Replikation und Transkription

In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…

6 Monaten ago

Verständnis des Unterschieds zwischen Osmose und Diffusion

Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…

6 Monaten ago

Der entscheidende Unterschied zwischen 4G und 5G

Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…

6 Monaten ago

Der entscheidende Unterschied zwischen JPG und PNG

Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…

6 Monaten ago