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