StringBuffer hay StringBuilder cái nào tốt hơn?
StringBuffer hay StringBuilder cái nào tốt hơn?

Video: StringBuffer hay StringBuilder cái nào tốt hơn?

Video: StringBuffer hay StringBuilder cái nào tốt hơn?
Video: 9.4 Lớp String, StringBuilder, StringBuffer 2024, Tháng mười một
Anonim

Chuỗi là bất biến trong khi StringBuffer và StringBuider là các lớp có thể thay đổi. StringBuffer là chuỗi an toàn và được đồng bộ hóa trong khi StringBuilder không, đó là lý do tại sao StringBuilder nhanh hơn StringBuffer . String concat + toán tử sử dụng nội bộ StringBuffer hoặc StringBuilder lớp.

Tương ứng, cái nào tốt hơn StringBuffer hay StringBuilder?

Kết quả là, StringBuilder nhanh hơn StringBuffer . StringBuffer có thể thay đổi. Nó có thể thay đổi về độ dài và nội dung. StringBuffers an toàn theo chuỗi, nghĩa là chúng có các phương pháp đồng bộ hóa để kiểm soát quyền truy cập để chỉ một chủ đề có thể truy cập một StringBuffer mã được đồng bộ hóa của đối tượng tại một thời điểm.

Tương tự, tại sao StringBuffer lại chậm hơn StringBuilder? Đối tượng được tạo thông qua StringBuffer được lưu trữ trong heap. StringBuffer có các phương pháp tương tự như StringBuilder , nhưng mỗi phương pháp trong StringBuffer được đồng bộ hóa đó là StringBuffer là chủ đề an toàn. Như vậy StringBuilder nhanh hơn hơn NS StringBuffer khi gọi các phương thức giống nhau của mỗi lớp.

Trong đó, sự khác biệt giữa StringBuffer và StringBuilder là gì?

StringBuilder . StringBuilder giống như StringBuffer , đó là nó lưu trữ đối tượng trong heap và nó cũng có thể được sửa đổi. Chính sự khác biệt giữa NS StringBuffer và StringBuilder đó là StringBuilder không phải là chủ đề an toàn. StringBuilder là nhanh chóng vì nó không phải là chủ đề an toàn.

Khi nào tôi nên sử dụng StringBuffer?

Nếu giá trị Đối tượng có thể thay đổi và sẽ chỉ được truy cập từ một luồng duy nhất, sử dụng a StringBuilder vì StringBuilder không được đồng bộ hóa. Trong trường hợp giá trị Đối tượng có thể thay đổi và sẽ được sửa đổi bởi nhiều chủ đề, sử dụng Một StringBuffer tại vì StringBuffer được đồng bộ hóa.

Đề xuất: