มักใช้ StringBuilder ในโปรเจ็กต์ StringBuilder สามารถต่อท้ายด้วย "+" ได้ และ StringBuilder สามารถต่อท้ายได้ ฉันไม่เคยเข้าใจเลยว่าทำไมฉันจึงควรใช้ StringBuilder เนื่องจากฉันสามารถใช้ String ได้ แม้ว่าฉันจะใช้ StringBuilder เป็นประจำเพื่อแยกคำสั่งการสืบค้นเมื่อทำการสืบค้นฐานข้อมูล แต่ฉันก็ยังไม่ทราบเหตุผล วันนี้ตอนที่ฉันดูวิดีโอ ฉันเห็น StringBuffer อีกครั้ง และฉันรู้สึกว่าการใช้งานคล้ายกัน ดังนั้นฉันจึงตรวจสอบความแตกต่างระหว่างสิ่งเหล่านี้
สรุปได้ดังนี้:
1. การเปรียบเทียบในแง่ของความเร็วในการดำเนินการ: StringBuilder > StringBuffer
2. StringBuffer และ StringBuilder เป็นตัวแปรสตริงและอ็อบเจ็กต์ที่เปลี่ยนแปลงได้ เมื่อใดก็ตามที่เราใช้มันเพื่อดำเนินการกับสตริง จริงๆ แล้วเรากำลังดำเนินการกับอ็อบเจ็กต์บางอย่าง ดังนั้นความเร็วจึงรวดเร็ว
3.StringBuilder: เธรดไม่ปลอดภัย
StringBuffer: ปลอดภัยสำหรับเธรด
เมื่อสตริงบัฟเฟอร์ของเราถูกใช้โดยหลายเธรด JVM ไม่สามารถรับประกันได้ว่าการทำงานของ StringBuilder จะปลอดภัย แม้ว่าจะเร็วที่สุด แต่ก็สามารถรับประกันได้ว่า StringBuffer สามารถทำงานได้อย่างถูกต้อง แน่นอน ในกรณีส่วนใหญ่ เราดำเนินการในเธรดเดียว ดังนั้นในกรณีส่วนใหญ่ ขอแนะนำให้ใช้ StringBuilder แทน StringBuffer ด้วยเหตุผลด้านความเร็ว
สรุปการใช้งานทั้งสาม:
1. หากคุณต้องการดำเนินการกับข้อมูลจำนวนเล็กน้อย ให้ใช้ String
2. การดำเนินการแบบเธรดเดี่ยวของบัฟเฟอร์สตริงเพื่อดำเนินการ StringBuilder ข้อมูลจำนวนมาก
3. การดำเนินการแบบมัลติเธรดของบัฟเฟอร์สตริงเพื่อดำเนินการข้อมูล StringBuffer จำนวนมาก