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

ความแตกต่างระหว่างบัฟเฟอร์สตริงและตัวสร้างสตริงใน Java


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

ซีเนียร์ เลขที่ คีย์ บัฟเฟอร์สตริง ตัวสร้างสตริง
1
พื้นฐาน
StringBuffer เปิดตัวพร้อมกับ Java . รุ่นแรก
เปิดตัวใน Java 5
2
ซิงโครไนซ์
มันถูกซิงโครไนซ์
มันไม่ซิงโครไนซ์
3 ประสิทธิภาพ
เป็นเธรดที่ปลอดภัย ดังนั้น หลายเธรดไม่สามารถเข้าถึงได้พร้อมกัน ดังนั้นจึงช้า
ไม่ปลอดภัยสำหรับเธรดจึงเร็วกว่า String Buffer
4 Mutable
เปลี่ยนแปลงได้ เราสามารถแก้ไขสตริงโดยไม่ต้องสร้างวัตถุ
มันยังสามารถเปลี่ยนแปลงได้
5
ที่เก็บข้อมูล
ฮีป
ฮีป

ตัวอย่างของ StringBuilder

public class StringBuilderExample{
   public static void main(String[] args){
      StringBuilder builder=new StringBuilder("Hi");
      builder.append("Java 8");
      System.out.println("StringBuilderExample" +builder);
   }
}

ตัวอย่าง StringBuffer

public class StringBufferExample{
   public static void main(String[] args){
      StringBuffer buffer=new StringBuffer("Hi");
      buffer.append("Java 8");
      System.out.println("StringBufferExample" +buffer);
   }
}