Categories: Allgemein

Unterschied zwischen String und StringBuffer

Es gibt viele Unterschiede zwischen String und StringBuffer. Eine Liste der Unterschiede zwischen String und StringBuffer finden Sie unten:

Nein.SchnurZeichenfolgenpuffer
1)Die String-Klasse ist unveränderlich.Die StringBuffer-Klasse ist änderbar.
2)String ist langsam und verbraucht mehr Speicher, wenn wir zu viele Strings verketten, da jedes Mal eine neue Instanz erstellt wird.StringBuffer ist schnell und verbraucht weniger Speicher, wenn wir t-Strings verketten.
3)Die String-Klasse überschreibt die equals()-Methode der Object-Klasse. So können Sie den Inhalt zweier Strings mit der Methode equals () vergleichen.Die Klasse StringBuffer überschreibt nicht die Methode equals() der Klasse Object.
4)Die String-Klasse ist langsamer, während eine Verkettungsoperation ausgeführt wird.Die StringBuffer-Klasse ist beim Ausführen von Verkettungsvorgängen schneller.
5)Die String-Klasse verwendet den String-Konstantenpool.StringBuffer verwendet Heap-Speicher

Leistungstest von String und StringBuffer

ConcatTest.java

  1. öffentliche Klasse  ConcatTest{   
  2.     öffentlicher statischer  String concatWithString() {   
  3.         Zeichenfolge t =  “Java” ;  
  4.         für  ( int  i= 0 ; i< 10000 ; i++){  
  5.             t = t +  “TPunkt” ;  
  6.         }  
  7.         gib  t zurück;  
  8.     }  
  9.     öffentlicher statischer  String concatWithStringBuffer(){   
  10.         StringBuffer sb =  new  StringBuffer( “Java” );  
  11.         für  ( int  i= 0 ; i< 10000 ; i++){  
  12.             sb.append( “Tpoint” );  
  13.         }  
  14.         return  sb.toString();  
  15.     }  
  16.     public static void  main(String[] args){    
  17.         lange  Startzeit = System.aktuelleZeitMillis();  
  18.         concatWithString();  
  19.         System.out.println( “Zeit, die durch Concating mit String benötigt wird: ” +(System.currentTimeMillis()-startTime)+ “ms” );  
  20.         startTime = System.aktuelleZeitMillis();  
  21.         concatWithStringBuffer();  
  22.         System.out.println( “Zeit, die von Concating mit StringBuffer benötigt wird: ” +(System.currentTimeMillis()-startTime)+ “ms” );  
  23.     }  
  24. }  

Ausgabe:

Dauer der Verkettung mit String: 578 ms
Dauer der Verkettung mit StringBuffer: 0 ms

Der obige Code berechnet die zum Verketten einer Zeichenfolge erforderliche Zeit mithilfe der String-Klasse und der StringBuffer-Klasse.

String- und StringBuffer-HashCode-Test

Wie wir in dem unten angegebenen Programm sehen können, gibt String einen neuen Hashcode zurück, während die Verkettung durchgeführt wird, aber die StringBuffer-Klasse gibt denselben Hashcode zurück.

InstanceTest.java

  1. öffentliche Klasse  InstanceTest{   
  2.     public static void  main(String args[]){    
  3.         System.out.println( “Hashcode-Test von String:” );  
  4.         Zeichenkette str= “java” ;  
  5.         System.out.println (str.hashCode());  
  6.         str=str+ “tpoint” ;  
  7.         System.out.println (str.hashCode());  
  8.    
  9.         System.out.println( “Hashcode-Test von StringBuffer:” );  
  10.         StringBuffer sb= new  StringBuffer( “java” );  
  11.         System.out.println (sb.hashCode());  
  12.         sb.append( “tpoint” );  
  13.         System.out.println (sb.hashCode());  
  14.     }  
  15. }  

Ausgabe:

Hashcode-Test von String:
3254818
229541438
Hashcode-Test von StringBuffer:
118352462
118352462
osky

Recent Posts

Unterschied Zwischen Sozialismus und Kommunismus

Haben Sie sich jemals gefragt, warum die Begriffe Sozialismus und Kommunismus oft in einem Atemzug…

1 Woche ago

Die Bedeutungen der Symbole in Flaggen Designs

Die Welt der Flaggensymbolik  Haben Sie sich schon einmal die Zeit genommen, die Geschichte hinter…

2 Wochen ago

Wie verwalte ich Passwörter in Google Chrome?

Haben Sie schon einmal ein Passwort vergessen? Sicher, das ist uns allen schon passiert. Deshalb…

2 Wochen ago

Unterschied zwischen einem 2-Takt- und einem 4-Takt-Motor?

Der Hauptunterschied zwischen einem 4-Takt-Motor und einem 2-Takt-Motor besteht darin, dass ein 4-Takt-Motor vier Stufen…

2 Wochen ago

Japanische Augen vs. Chinesische Augen: Was ist der Unterschied?

Haben Sie sich jemals gefragt, ob es tatsächlich einen Unterschied zwischen japanischen und chinesischen Augen…

2 Wochen ago

Abgeltungssteuer: Arten, Regelungen und wichtige Informationen

Abgeltungssteuer: Arten, Regelungen und wichtige Informationen zu Kapitalerträgen Die Abgeltungssteuer ist eine der zentralen Steuerarten…

2 Wochen ago