cuốn sách gpt4 ai đã làm

Tại sao bộ đệm chuỗi là cuối cùng?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-01 21:38:23 26 4
mua khóa gpt4 Nike

Một trong những lý do khiến lớp String trở nên bất biến là vì lớp đó được khai báo là cuối cùng, mặc dù cũng có những lý do khác. Nhưng tại sao StringBuffer hoặc StringBuilder lại là cuối cùng trong khi chúng vẫn có thể thay đổi được? Vậy yếu tố nào khác xác định rằng String là bất biến?

câu trả lời hay nhất

Bộ đệm chuỗiStringBuilder Chủ yếu được sử dụng cho các hoạt động nối chuỗi trong một phương thức duy nhất, mã sử dụng chúng thường được tạo bởi trình biên dịch. Vì vậy, việc mở rộng không phải là một trường hợp sử dụng điển hình.

mặt khác,cuối cùng Cho phép tối ưu hóa tốt hơn trong JVM, ít nhất là trong quá khứ; HotSpot JVM ngày nay không yêu cầu điều đó, nhưng không bao giờ có lý do để thay đổi các lớp này cuối cùng tuyên bố.

Lưu ý rằng việc mở rộng cho hành vi đa hình StringBuilder và việc ghi đè phương thức sẽ hơi vô nghĩa vì không có chấp nhận hoặc trả lại trong toàn bộ JRE Trình tạo chuỗi< công cộng phương pháp trường hợp (trừ StringBuilder chính nó). cóCó thể thêm vàoChuỗi ký tựLấp đầy khoảng trống này và mang lại sự linh hoạt cao hơn.

sự biến thiêntính bất biến khái niệm vàcuối cùng Khái niệm về các lớp học là hoàn toàn khác nhau. Chúng chỉ phụ thuộc vào loại phương thức hoặc thao tác do lớp cung cấp. String Không có phương pháp nào cho phép sửa đổi nội dung của nó, trong khi Bộ đệm chuỗiStringBuilder Có một cách như vậy. Khai báo một lớp bất biến cuối cùng Nó chỉ giúp ngăn chặn các lớp con có thể đưa ra các phương pháp nhận biết đột biến, nhưng đó không phải là một yêu cầu khó.

Về java - tại sao stringbuffer là cuối cùng? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/29567647/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress