CodeGym /หลักสูตร /Java มัลติเธรด /StringBuilder และ StringBuffer

StringBuilder และ StringBuffer

Java มัลติเธรด
ระดับ, บทเรียน
มีอยู่

"เราต้องครอบคลุม StringBuilder และจากนั้นฉันคิดว่าเราเสร็จแล้ว"

"อย่างที่ทราบกันดีว่า StringBuilder นั้นเหมือนกับคลาส String ยกเว้นว่ามันจะไม่แน่นอน"

"และฉันยังจำได้ว่าคอมไพเลอร์สร้างโค้ดที่ใช้ StringBuilder เมื่อเราเพิ่มสตริงเข้าด้วยกัน"

"ใช่ คุณพูดถูก คุณมีความทรงจำที่น่าทึ่งจริงๆ แล้วอีกอย่าง หุ่นยนต์ทุกตัวก็จำได้ ฉันมักจะลืมเรื่องนั้น"

"มาตรวจสอบสิ่งที่คุณสามารถทำได้โดยใช้ คลาส StringBuilder :"

1) ฉันมีสตริงธรรมดาและฉันต้องการทำให้มันไม่แน่นอน ฉันจะทำอย่างไร

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);

2) ฉันต้องการเพิ่มอักขระในสตริงที่ไม่แน่นอนที่มีอยู่หรือไม่

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");

3) และฉันจะแปลง StringBuilder กลับเป็นสตริงได้อย่างไร

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");
s = s2.toString();

4) และถ้าฉันจำเป็นต้องลบตัวละคร?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.deleteCharAt(2); //Becomes "Beder"

5) ฉันจะแทนที่ส่วนหนึ่งของสตริงด้วยส่วนอื่นได้อย่างไร

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.replace (3, 5, "_DE_"); //Becomes "Ben_DE_r"

6) จะทำอย่างไรถ้าฉันต้องการย้อนกลับสตริง

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.reverse(); //Becomes "redneB";

"เยี่ยมมาก ขอบคุณ Ellie ทุกอย่างสมเหตุสมผล"

"ฉันดีใจที่คุณชอบมัน."

"ฉันอยากจะเตือนคุณเกี่ยวกับบางสิ่งที่ Bilaabo ควรบอกคุณ"

"มีอีกคลาสหนึ่งชื่อStringBufferซึ่งเหมือนกับStringBuilderแต่เมธอดของมันถูกประกาศเป็นsynchronizedซึ่งหมายความว่าก่อนที่จะเรียกใช้เมธอดใด ๆ เครื่อง Java จะตรวจสอบว่าอ็อบเจกต์ไม่ว่างหรือไม่ ถ้าไม่ใช่ JVM จะทำเครื่องหมาย ไม่ว่าง หลังจากออกจากเมธอด อ็อบเจกต์จะถูกปล่อย ผลที่ได้คือการโทรเหล่านี้ช้าลง คุณไม่ควรใช้StringBufferเว้นแต่คุณจะต้องทำ"

"แต่ถ้าคุณต้องการสตริง ที่ไม่แน่นอน ซึ่งจะใช้ในหลายๆ เธรด คุณจะไม่พบสิ่งใดที่ดีไปกว่าStringBuffer "

"ขอบคุณสำหรับข้อมูล ฉันคิดว่ามันอาจจะมีประโยชน์สักวันหนึ่ง"

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION