StringBuffer ใน Java: 11 วิธียอดนิยมที่นักพัฒนา Java ทุกคนควรรู้

เผยแพร่แล้ว: 2021-05-26

สารบัญ

บทนำสู่ StringBuffer ใน Java

StringBuffer ใน java เป็นคลาสที่สืบทอดเมธอดจากคลาส java.lang.Object เป็นคลาสเพียร์ของ String ที่ใช้สร้างสตริงที่ปรับเปลี่ยนได้หรือเปลี่ยนแปลงได้ มีฟังก์ชันการทำงานของ String มาก ยกเว้นว่าสามารถเปลี่ยนแปลงได้ กล่าวคือ แสดงลำดับอักขระที่เขียนได้และเติบโตได้ แทนที่จะเป็นลำดับอักขระที่ไม่เปลี่ยนรูปแบบและมีความยาวคงที่ ต่อไปนี้คือประเด็นสำคัญบางประการเกี่ยวกับ java.lang.StringBuffer ใน Java:

· เนื้อหาและความยาวของลำดับอักขระสามารถเปลี่ยนแปลงได้ผ่านการเรียกใช้เมธอดต่างๆ

· เป็นเธรดที่ปลอดภัย กล่าวคือ ปลอดภัยสำหรับการใช้งานหลายเธรด

· ทุก StringBuffer ใน java มีความจุ

· สตริงย่อยและอักขระสามารถต่อท้ายหรือแทรกตรงกลางได้ มันจะเติบโตโดยอัตโนมัติและทำให้มีที่ว่างสำหรับการเพิ่มเติม บ่อยครั้ง อักขระได้รับการจัดสรรล่วงหน้ามากกว่าที่จำเป็นเพื่อให้มีที่ว่างสำหรับการเติบโต

นี่คือวิธีการประกาศ StringBuffer ในคลาส Java:

StringBuffer คลาสสุดท้ายสาธารณะ

ขยาย Object

ใช้ Serializable, CharSequence

ตัวสร้างของคลาส StringBuffer

1. StringBuffer() – ใช้เพื่อสร้างบัฟเฟอร์สตริงที่มีความจุเริ่มต้น 16 อักขระและไม่มีอักขระในนั้น ไวยากรณ์:

StringBuffer a =ใหม่ StringBuffer();

2. StringBuffer (CharSequence seq) – ใช้เพื่อสร้างบัฟเฟอร์สตริงที่มีอักขระเดียวกับใน CharSequence

3. StringBuffer (ความจุ int) – ใช้เพื่อสร้างบัฟเฟอร์สตริงที่มีการระบุความจุเริ่มต้นและไม่มีอักขระ ไวยากรณ์:

StringBuffer a=ใหม่ StringBuffer(10);

4. StringBuffer (String str) – ใช้เพื่อสร้างบัฟเฟอร์สตริงที่มีเนื้อหาสตริงที่กำหนด ไวยากรณ์:

StringBuffer a=new StringBuffer (“stringbuffer ในจาวา”);

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

11 วิธียอดนิยม

1) StringBuffer ใน Java Append() Method

.append() ใช้เพื่อเชื่อมสตริงและอาร์กิวเมนต์ที่กำหนด นี่คือตัวอย่าง:

นำเข้า java.io.*;

บัฟเฟอร์คลาสสาธารณะ {

โมฆะคงที่สาธารณะ main(String[] args)

{

StringBuffer a = ใหม่ StringBuffer (“stringbuffer”);

a.append("ใน Java");

System.out.println(ก);

ก.ผนวก(0);

System.out.println(ก);

}

}

เอาท์พุท:

2) StringBuffer ใน Java Insert() Method

.insert() ใช้ในการแทรกสตริงที่กำหนดด้วยสตริงหลักที่ตำแหน่งที่ระบุ นี่คือตัวอย่าง:

นำเข้า java.io.*;

บัฟเฟอร์คลาสสาธารณะ {

โมฆะคงที่สาธารณะ main(String[] args)

{

StringBuffer a = ใหม่ StringBuffer (“stringbuffer”);

a.insert(5, “สำหรับ”);

System.out.println(ก);

a.insert(0, 5);

System.out.println(ก);

a.insert(3, เท็จ);

System.out.println(ก);

a.insert(5, 41.55d);

System.out.println(ก);

a.insert(8, 41.55f);

System.out.println(ก);

ถ่าน arr[] = { 'j', 'a', 'v', 'a' };

a.insert(2, arr);

System.out.println(ก);

} }

เอาท์พุท:

อ่านเพิ่มเติม: แนวคิดและหัวข้อโปรเจ็กต์ Java

3) StringBuffer ใน java แทนที่ () method

.replace() ใช้เพื่อแทนที่ส่วนของสตริงตามที่ระบุในช่วง (beginIndex, endIndex) นี่คือตัวอย่าง:

นำเข้า java.io.*;

บัฟเฟอร์คลาสสาธารณะ {

โมฆะคงที่สาธารณะ main(String[] args)

{

StringBuffer a = ใหม่ StringBuffer (“stringbuffer”);

a.replace(5, 8, “เป็น”);

System.out.println(ก);

}

}

เอาท์พุท:

4) StringBuffer ใน Java Delete() Method

.delete() ใช้เพื่อลบสตริงตามที่ระบุในช่วง (beginIndex, endIndex)

.deleteCharAt() ใช้เพื่อลบอักขระที่ดัชนีที่ระบุ เมธอดนี้ส่งคืนวัตถุ stringbuffer ที่เป็นผลลัพธ์ นี่คือตัวอย่าง:

นำเข้า java.io.*;

บัฟเฟอร์คลาสสาธารณะ {

โมฆะคงที่สาธารณะ main(String[] args)

{

StringBuffer a = ใหม่ StringBuffer (“บัฟเฟอร์สตริงในจาวา”);

ก.ลบ(0, 6);

System.out.println(ก);

ก.deleteCharAt(7);

System.out.println(ก);

}

}

เอาท์พุท:

5) StringBuffer ใน Java Reverse() Method

.reverse() ตามที่ชื่อแนะนำใช้เพื่อย้อนกลับสตริงที่กำหนด นี่คือตัวอย่าง:

นำเข้า java.io.*;

บัฟเฟอร์คลาสสาธารณะ {

โมฆะคงที่สาธารณะ main(String[] args)

{

StringBuffer a = ใหม่ StringBuffer (“stringbuffer”);

ก.ย้อนกลับ();

System.out.println(ก);

}

}

เอาท์พุท:

6) StringBuffer ใน Java Capacity() Method

.capacity() ของ StringBuffer ในคลาส Java ใช้เพื่อส่งคืนความจุปัจจุบันของบัฟเฟอร์ 16 คือความจุเริ่มต้น ความจุเพิ่มขึ้นโดยการเพิ่มจำนวนอักขระ ความจุใหม่ = (ความจุเก่า*2)+2 กล่าวคือ ถ้าความจุปัจจุบันคือ 16 ความจุใหม่จะเป็น 32+2=34

.length ถูกใช้เพื่อค้นหาความยาวของ StringBuffer ใน java ตัวอย่างเช่น:

นำเข้า java.io.*;

บัฟเฟอร์คลาสสาธารณะ {

โมฆะคงที่สาธารณะ main(String[] args)

{

StringBuffer a = ใหม่ StringBuffer (“stringbuffer”);

int p = a.length();

int q = ความจุ ();

System.out.println("ความยาวของสตริงคือ=" + p);

System.out.println(“ความจุของสตริงคือ =” + q);

}

}

เอาท์พุท:

รับ ปริญญาวิศวกรรมซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

7) StringBuffer ใน Java sureCapacity() Method

.ensureCapacity() ของคลาส stringbuffer ถูกใช้เพื่อให้แน่ใจว่าความจุที่ระบุเป็นค่าต่ำสุดสำหรับความจุปัจจุบัน หากความจุที่กำหนดมากกว่าความจุปัจจุบัน ความจุใหม่จะกลายเป็น (ความจุเก่า*2)+2 คือความจุจะกลายเป็น 34 ถ้าความจุเก่าคือ 16 ตัวอย่างเช่น:

บัฟเฟอร์คลาสสาธารณะ{

โมฆะคงที่สาธารณะหลัก (สตริง args[]){

StringBuffer a=ใหม่ StringBuffer();

System.out.println(a.ความจุ());

a.append("สวัสดี");

System.out.println(a.ความจุ());

a.append("จาวา");

System.out.println(a.ความจุ());

a.ensureCapacity(10);

System.out.println(a.ความจุ());

ก. รับรองความจุ (50);

System.out.println(a.ความจุ());

}

}

เอาท์พุท:

ชำระเงิน: เงินเดือนนักพัฒนา Java ในอินเดีย

8. charAt (ดัชนี int) – วิธีนี้ใช้เพื่อส่งคืนอักขระที่ดัชนีที่กำหนด

9. สตริงย่อย ( int begIndex) – เมธอดนี้ใช้เพื่อส่งคืนสตริงย่อยของสตริงที่กำหนดโดยเริ่มจาก startIndex

10. สตริงย่อย (int startIndex, int endIndex) – วิธีนี้ใช้เพื่อส่งคืนสตริงย่อยของสตริงที่กำหนดโดยเริ่มต้นที่ startIndex และสิ้นสุดที่ endIndex

11. โมฆะ trimToSize() – วิธีนี้ใช้เพื่อลดพื้นที่จัดเก็บสำหรับลำดับอักขระ

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

เราใช้ตัวอย่างนี้เพื่อสร้างวัตถุของคลาส StringBuffer และ String และแก้ไข เราเห็นว่าวัตถุ StringBuffer ได้รับการแก้ไข ในขณะที่ String ไม่ได้รับการแก้ไข ดูตัวอย่างด้านล่าง:

บัฟเฟอร์คลาสสาธารณะ {

โมฆะคงที่สาธารณะหลัก (สตริง args[])

{

สตริง str = "สตริง";

str.concat("บัฟเฟอร์");

System.out.println(str);

StringBuffer strB = ใหม่ StringBuffer("สตริง");

strB.append(“บัฟเฟอร์”);

System.out.println(strB);

}

}

เอาท์พุท:

คำอธิบาย: ผลลัพธ์เป็นเช่นนี้เนื่องจากสตริงไม่เปลี่ยนรูป หากเราพยายามเชื่อมวัตถุสตริงเข้าด้วยกัน วัตถุนั้นจะไม่มีการเปลี่ยนแปลง อย่างไรก็ตาม StringBuffer ใน java จะสร้างวัตถุที่ไม่แน่นอน จึงสามารถเปลี่ยนแปลงได้

จุดที่น่าสนใจ

  1. มันขยายคลาสอ็อบเจ็กต์
  2. อินเทอร์เฟซที่ใช้งานของ StringBuffer ใน java เป็น Appendable, Serializable และ CharSequence
  3. วิธีการของ StringBuffer สามารถซิงโครไนซ์ได้ทุกที่ที่จำเป็น ซึ่งหมายความว่าการดำเนินการทั้งหมดจะทำงานราวกับว่าเกิดขึ้นในลำดับอนุกรมบางรายการ
  4. เมื่อการดำเนินการเกิดขึ้นที่เกี่ยวข้องกับลำดับต้นทาง คลาสนี้จะซิงโครไนซ์เฉพาะกับการทำงานของบัฟเฟอร์สตริง ไม่ใช่ต้นทาง
  5. เมธอดบางอันที่สืบทอดมาจากคลาสอ็อบเจ็กต์จะเท่ากับ โคลน getClass แจ้งเตือน แจ้งทั้งหมด hashCode และจบการทำงาน

บทสรุป

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

ในบทความนี้ เราได้เรียนรู้ทุกรายละเอียดเกี่ยวกับ Java StringBuffer หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Java และก้าวไปสู่อาชีพด้านเทคนิค ให้สำรวจหลักสูตรโดย upGrad -บริษัทการศึกษาระดับอุดมศึกษาออนไลน์ที่ใหญ่ที่สุดของอินเดีย

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java การพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์ – ความเชี่ยวชาญพิเศษด้านการพัฒนาแบบเต็มสแต็ก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง , 9+ โครงการและการมอบหมาย, สถานะศิษย์เก่า IIIT-B, โครงการหลักในทางปฏิบัติ & ความช่วยเหลือด้านงานกับ บริษัท ชั้นนำ

ลงจอดบนงานในฝันของคุณ

สมัครใบรับรอง PG ที่เชื่อมโยงกับงานของ upGrad ในสาขาวิศวกรรมซอฟต์แวร์