ในบทความนี้ เราจะเข้าใจความแตกต่างระหว่างคลาส String และ StringBuffer ใน Java
สตริง
-
เป็นคลาสที่ไม่เปลี่ยนรูป
-
ซึ่งหมายความว่าไม่สามารถเปลี่ยนแปลงองค์ประกอบของคลาสได้
-
มันช้า
-
ใช้หน่วยความจำน้อยลงเมื่อมีการต่อสตริง
-
นี่เป็นเพราะทุกครั้งที่มีการสร้างอินสแตนซ์ใหม่
-
มันแทนที่วิธีเท่ากับ () ของคลาสอ็อบเจ็กต์
-
ดังนั้น วิธี 'เท่ากับ' สามารถใช้เปรียบเทียบสองสตริงได้
ต่อไปนี้เป็นตัวอย่างของคลาสสตริง -
ตัวอย่าง
คลาสสาธารณะ StringDemo { โมฆะคงที่สาธารณะ main (String args []) { String palindrome ="จุดที่เห็นฉันเป็นท็อด"; int len =palindrome.length(); System.out.println( "ความยาวของสตริงคือ:" + len ); }}
สตริงบัฟเฟอร์
-
เป็นคลาสที่เปลี่ยนแปลงได้
-
ซึ่งหมายความว่าสามารถเปลี่ยนแปลงองค์ประกอบในคลาสนี้ได้
-
มันเร็ว
-
ใช้หน่วยความจำน้อยลงเมื่อมีการต่อสตริง
-
คลาสมันไม่ได้แทนที่เมธอด equals() ของคลาสอ็อบเจ็กต์
ต่อไปนี้เป็นตัวอย่างของคลาส StringBuffer -