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

ความแตกต่างระหว่างคลาส String และ StringBuffer ใน Java


ในบทความนี้ เราจะเข้าใจความแตกต่างระหว่างคลาส String และ StringBuffer ใน Java

สตริง

  • เป็นคลาสที่ไม่เปลี่ยนรูป

  • ซึ่งหมายความว่าไม่สามารถเปลี่ยนแปลงองค์ประกอบของคลาสได้

  • มันช้า

  • ใช้หน่วยความจำน้อยลงเมื่อมีการต่อสตริง

  • นี่เป็นเพราะทุกครั้งที่มีการสร้างอินสแตนซ์ใหม่

  • มันแทนที่วิธีเท่ากับ () ของคลาสอ็อบเจ็กต์

  • ดังนั้น วิธี 'เท่ากับ' สามารถใช้เปรียบเทียบสองสตริงได้

ต่อไปนี้เป็นตัวอย่างของคลาสสตริง -

ตัวอย่าง

คลาสสาธารณะ StringDemo { โมฆะคงที่สาธารณะ main (String args []) { String palindrome ="จุดที่เห็นฉันเป็นท็อด"; int len ​​=palindrome.length(); System.out.println( "ความยาวของสตริงคือ:" + len ); }}

สตริงบัฟเฟอร์

  • เป็นคลาสที่เปลี่ยนแปลงได้

  • ซึ่งหมายความว่าสามารถเปลี่ยนแปลงองค์ประกอบในคลาสนี้ได้

  • มันเร็ว

  • ใช้หน่วยความจำน้อยลงเมื่อมีการต่อสตริง

  • คลาสมันไม่ได้แทนที่เมธอด equals() ของคลาสอ็อบเจ็กต์

ต่อไปนี้เป็นตัวอย่างของคลาส StringBuffer -

ตัวอย่าง

<ก่อน>สาธิตคลาสสาธารณะ { โมฆะคงที่สาธารณะ main (สตริง args []) { StringBuffer sBuffer =ใหม่ StringBuffer ("ทดสอบ"); sBuffer.append("สตริงบัฟเฟอร์"); System.out.println(sBuffer); }}