JavaRush /Blog Java /Random-VI /Lớp StringBuilder trong Java 8 với ví dụ thực tế
Нина Можарская
Mức độ
Киев

Lớp StringBuilder trong Java 8 với ví dụ thực tế

Xuất bản trong nhóm
Lớp Stringtạo ra các chuỗi bất biến. Điều này có nghĩa là nếu bạn áp dụng bất kỳ thao tác nào cho một chuỗi hoặc một thao tác nào đó cho một chuỗi thì kết quả sẽ là một chuỗi mới. Nếu chuỗi mới này không được gán cho bất kỳ biến nào thì kết quả của phép toán sẽ bị mất. Theo đó, các thao tác trên các chuỗi như vậy nhất thiết dẫn đến việc tạo ra một chuỗi mới. Và điều này có nghĩa là tốn thêm chi phí về bộ nhớ và thời gian xử lý. Nếu có nhiều thao tác trên một chuỗi thì việc sử dụng các chuỗi động do lớp StringBuilder.
Lớp StringBuilder trong Java 8 với ví dụ thực tế - 1
Hãy xem xét đoạn mã dưới đây:
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);
}
Đoạn mã trên giải quyết cùng một vấn đề. Khi chúng ta thêm 100 chuỗi con mới vào một chuỗi nhất định. Ví dụ đầu tiên sử dụng lớp này cho mục đích này String, điều này không hiệu quả lắm vì mỗi lần thêm một chuỗi con sẽ dẫn đến việc xây dựng một đối tượng mới String. Và đây là một sự lãng phí thêm về bộ nhớ và thời gian. Trong ví dụ thứ hai, vấn đề này được giải quyết bằng lớp StringBuilder. Chúng ta tạo trước một đối tượng của lớp StringBuilder, sau đó sử dụng phương thức này appendđể tạo thành chuỗi chúng ta cần bằng cách thay đổi nội dung của đối tượng đã tạo StringBuildermà không tạo lại chính đối tượng đó.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION