Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะใช้ StringBuffer/StringBuilder มากกว่า String ใน Java ได้ที่ไหน


  • อ็อบเจ็กต์คลาส String นั้นเปลี่ยนไม่ได้ในขณะที่อ็อบเจ็กต์ StringBuffer และ StringBuilder นั้นเปลี่ยนได้
  • StringBuffer ถูกซิงโครไนซ์ในขณะที่ StringBuilder ไม่ถูกซิงโครไนซ์
  • ตัวดำเนินการการเรียงต่อ "+" ถูกใช้งานภายในโดยใช้ StringBuffer หรือ StringBuilder
  • หากค่า Object จะไม่เปลี่ยนแปลง ให้ใช้ String Class เนื่องจากวัตถุ String นั้นไม่สามารถเปลี่ยนแปลงได้
  • หากค่า Object เปลี่ยนแปลงได้และจะเข้าถึงได้จากเธรดเดียวเท่านั้น ให้ใช้ StringBuilder เนื่องจาก StringBuilder ไม่ซิงโครไนซ์
  • หากค่า Object สามารถเปลี่ยนแปลงได้และจะถูกแก้ไขโดยหลายเธรด ให้ใช้ StringBuffer เนื่องจาก StringBuffer ถูกซิงโครไนซ์