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