JavaRush /จาวาบล็อก /Random-TH /คลาส StringBuilder ใน Java 8 พร้อมตัวอย่างที่ใช้งานได้จริ...
Нина Можарская
ระดับ
Киев

คลาส StringBuilder ใน Java 8 พร้อมตัวอย่างที่ใช้งานได้จริง

เผยแพร่ในกลุ่ม
คลาสStringสร้างสตริงที่ไม่เปลี่ยนรูป ซึ่งหมายความว่าหากคุณใช้การดำเนินการใดๆ กับสตริงหรือการดำเนินการกับสตริง ผลลัพธ์จะเป็นสตริงใหม่ หากไม่ได้กำหนดสตริงใหม่นี้ให้กับตัวแปรใดๆ ผลลัพธ์ของการดำเนินการจะหายไป ดังนั้น การดำเนินการกับสตริงดังกล่าวจำเป็นต้องนำไปสู่การสร้างสตริงใหม่ และนี่หมายถึงต้นทุนหน่วยความจำและเวลาในการประมวลผลเพิ่มเติม หากมีการดำเนินการกับสตริงเป็นจำนวนมาก ก็มักจะมีประสิทธิภาพมากกว่าในการใช้สตริงไดนามิก ซึ่งคลาสนำไปใช้StringBuilderงาน
คลาส StringBuilder ใน Java 8 พร้อมตัวอย่างการใช้งานจริง - 1
พิจารณารหัสด้านล่าง:
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
   s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
รหัสข้างต้นแก้ไขปัญหาเดียวกัน เมื่อเราเพิ่มสตริงย่อยใหม่ 100 รายการให้กับสตริงที่กำหนด ตัวอย่างแรกใช้คลาสเพื่อจุดประสงค์นี้Stringซึ่งไม่มีประสิทธิภาพมากนัก เนื่องจากการเพิ่มสตริงย่อยแต่ละครั้งจะนำไปสู่การสร้างอ็อบเจ็กต์Stringใหม่ และนี่เป็นการสิ้นเปลืองหน่วยความจำและเวลาเพิ่มเติม StringBuilderในตัวอย่างที่ สองปัญหานี้แก้ไขได้โดยใช้คลาส เราสร้างวัตถุของคลาสล่วงหน้าStringBuilderจากนั้นใช้วิธีการappendที่เราสร้างสตริงที่เราต้องการโดยการเปลี่ยนเนื้อหาของวัตถุที่สร้างขึ้นStringBuilderแต่ไม่มีการสร้างวัตถุขึ้นมาใหม่
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION