StringBuilder เร็วกว่าการต่อสตริงหรือไม่
StringBuilder เร็วกว่าการต่อสตริงหรือไม่

วีดีโอ: StringBuilder เร็วกว่าการต่อสตริงหรือไม่

วีดีโอ: StringBuilder เร็วกว่าการต่อสตริงหรือไม่
วีดีโอ: Yhib Ma Sorn Extra - EP6 : เกร็ดเล็กเกร็ดน้อยใน String ( String Tips ) 2024, อาจ
Anonim

1) ดิ สตริง วัตถุไม่เปลี่ยนรูปใน Java แต่ StringBuffer และ StringBuilder เป็นวัตถุที่ไม่แน่นอน 2) StringBuffer ถูกซิงโครไนซ์ในขณะที่ StringBuilder ไม่ใช่สิ่งที่ทำให้ StringBuilder เร็วกว่า สตริงบัฟเฟอร์ 3) การต่อกัน ตัวดำเนินการ "+" ถูกใช้งานภายในโดยใช้ StringBuffer หรือ StringBuilder.

ในทำนองเดียวกันอาจมีคนถามว่ารูปแบบสตริงเร็วกว่าการต่อกันหรือไม่?

สาเหตุหลักคือ สตริง . รูปแบบ () สามารถแปลได้ง่ายขึ้นด้วยข้อความที่โหลดจากไฟล์ทรัพยากรในขณะที่ การต่อกัน ไม่สามารถแปลเป็นภาษาท้องถิ่นได้โดยไม่ต้องสร้างโปรแกรมปฏิบัติการใหม่ด้วยรหัสที่แตกต่างกันสำหรับแต่ละภาษา ผลการจับเวลามีดังนี้: การต่อกัน = 265 มิลลิวินาที

นอกจากนี้ เมื่อใดที่คุณไม่ควรใช้ StringBuilder ดังนั้น ใช้ StringBuilder เมื่อคุณต้องการ ทำ การปรับเปลี่ยนหลายอย่างในสตริง ไม่ คุณจริงๆ ควรใช้ StringBuilder หากคุณเชื่อมสตริงขนาดใหญ่หรือคุณมีการต่อกันจำนวนมาก เช่น วนซ้ำ ฉันโดยทั่วไป ใช้ตัวสร้างสตริง สำหรับบล็อกของรหัสใด ๆ ที่จะส่งผลให้มีการต่อสายอักขระสามตัวขึ้นไป

ในทำนองเดียวกันสตริงใดเร็วกว่าหรือ StringBuilder

วัตถุของ สตริง ไม่เปลี่ยนรูปและวัตถุของ StringBuffer และ StringBuilder เปลี่ยนแปลงได้ StringBuffer และ StringBuilder มีความคล้ายคลึง แต่ StringBuilder เป็น เร็วขึ้น และต้องการมากกว่า StringBuffer สำหรับโปรแกรมเธรดเดียว หากต้องการความปลอดภัยของเธรด ระบบจะใช้ StringBuffer

โปรแกรมเมอร์จะใช้ string กับ StringBuilder เมื่อใด

เมื่อไรจะ ใช้ อันไหน: ถ้า a สตริง จะคงที่ตลอดโปรแกรม ดังนั้น ใช้สตริง คลาสวัตถุเพราะ a สตริง วัตถุไม่เปลี่ยนรูป ถ้า สตริงสามารถ เปลี่ยน (ตัวอย่าง: ตรรกะมากมาย และ การดำเนินงานในการก่อสร้าง สตริง ) แล้ว โดยใช้ NS StringBuilder เป็นตัวเลือกที่ดีที่สุด

แนะนำ: