Các phương thức quản lý dung lượng chuỗi của lớp StringBuffer
Lưu ý: ensureCapacity không giảm dung lượng nếu giá trị nhỏ hơn dung lượng hiện tại. trimToSize giúp tối ưu bộ nhớ nhưng có thể gây tốn tài nguyên nếu gọi thường xuyên. setLength có thể làm mất dữ liệu nếu giảm độ dài chuỗi.
↳ void ensureCapacity(int minimumCapacity): Đảm bảo rằng dung lượng của bộ đệm ít nhất bằng với giá trị minimumCapacity được chỉ định. Nếu dung lượng hiện tại nhỏ hơn, bộ đệm sẽ được mở rộng.
↳ void setLength(int newLength): Thiết lập độ dài mới cho chuỗi. Nếu newLength lớn hơn độ dài hiện tại, các ký tự mới sẽ được thêm vào với giá trị '\u0000'. Nếu newLength nhỏ hơn độ dài hiện tại, các ký tự cuối cùng sẽ bị cắt bỏ.
↳ void trimToSize(): Giảm dung lượng của bộ đệm xuống bằng với độ dài của chuỗi hiện tại nếu có thể.
Dưới đây là ví dụ về các phương thức quản lý dung lượng chuỗi của lớp StringBuffer trong Java:
Ví dụ: Example.java
public class Example {
public static void main(String[] args) {
// Khởi tạo đối tượng StringBuffer với dung lượng ban đầu là 10
StringBuffer sb = new StringBuffer(10);
sb.append("Hello, World!");
System.out.println("Nội dung ban đầu: " + sb);
// Đảm bảo dung lượng tối thiểu của bộ đệm là 30
sb.ensureCapacity(30);
System.out.println("Dung lượng sau ensureCapacity(30): " + sb.capacity());
// Thiết lập độ dài mới của chuỗi
sb.setLength(5);
System.out.println("Sau setLength(5): " + sb);
// Giảm dung lượng của bộ đệm xuống bằng độ dài hiện tại
sb.trimToSize();
System.out.println("Dung lượng sau trimToSize(): " + sb.capacity());
}
}
Kết quả của chương trình là:
Dung lượng sau ensureCapacity(30): 30
Sau setLength(5): Hello
Dung lượng sau trimToSize(): 5
Trong ví dụ trên, các phương thức thao tác và quản lý dung lượng của StringBuffer được sử dụng để đảm bảo dung lượng bộ đệm và thiết lập độ dài mới cho chuỗi, cho phép thay đổi và điều chỉnh nội dung của chuỗi.