Câu hỏi phỏng vấn Java
Câu hỏi

So sánh sự khác nhau String vs StringBuffer vs StringBuilder?

Câu trả lời

Trong Java, String, StringBuffer, và StringBuilder là các lớp được sử dụng để làm việc với văn bản. Mỗi lớp này có những đặc điểm và sử dụng riêng biệt:

String

  • String là một lớp không thể thay đổi (immutable). Khi một đối tượng String được tạo ra, nó không thể được thay đổi. Bất kỳ thao tác nào tạo ra một chuỗi mới sẽ thực sự tạo ra một đối tượng String mới.
  • Ví dụ: String str = "Hello"; str += " World!"; sẽ tạo ra một đối tượng String mới chứ không phải thay đổi đối tượng str ban đầu.
  • String thích hợp cho việc xử lý chuỗi mà không yêu cầu thay đổi nội dung sau khi tạo.

StringBuffer

  • StringBuffer là một lớp có thể thay đổi (mutable) và đồng bộ (thread-safe). Nó cho phép thực hiện các thao tác trên chuỗi như thêm (append), xóa (delete), hoặc thay đổi (insert) mà không tạo ra các đối tượng mới.
  • StringBuffer được sử dụng khi cần thực hiện nhiều thao tác trên chuỗi trong một môi trường đa luồng, nơi đồng bộ hóa là quan trọng để đảm bảo tính nhất quán của dữ liệu.

StringBuilder

  • `St...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Nếu một đối tượng được gán thành null, Garbage Collector trong Java có giải phóng ngay bộ nhớ được giữ bởi đối tượng đó không?

middle

Trong Java phương thức System.gc()Runtime.gc() để làm gì?

middle

Pass by referencepass by value trong Java là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào