JAVA CORE - Trang 72

www.updatesofts.com

3.15.4

Lớp StringBuffer

Lớp StringBuffer cung cấp các phương thức khác nhau để thao tác một đối tượng dạng
chuỗi. Các đối tượng của lớp này rất mềm dẻo, đó là các ký tự và các chuỗi có thể được
chèn vào giữa đối tượng StringBuffer, hoặc nối thêm dữ liệu vào tại vị trí cuối. Lớp này
cung cấp các phương thức khởi tạo nạp chồng . Chương trình sau biểu diễn làm thế nào để
sử dụng các phương thức khởi tạo khác nhau để tạo ra các đối tượng của lớp này.

Chương trình 4.6

class StringBufferCons

{

public static void main(String args[])

{

StringBuffer s1 = new StringBuffer();

StringBuffer s2 = new StringBuffer(20);

StringBuffer s3 = new StringBuffer(“StringBuffer”);

System.out.println(“s3 = “+ s3);

System.out.println(s2.length()); //chứa 0

System.out.println(s3.length()); //chứa 12

System.out.println(s1.capacity()); //chứa 16

System.out.println(s2.capacity()); //chứa 20

System.out.println(s3.capacity()); //chứa 28

}

}

“length()” và “capacity()” của đối tượng StringBuffer là hoàn toàn khác nhau. Phương
thức “length()”đề cập đến số các ký tự mà đối tượng đưa ra, trong khi “capacity()” trả về
tổng dung lượng mặc định của một đối tượng (16), và số các ký tự trong đối tượng
StringBuffer.

Dung lượng của bộ đệm chuỗi có thể thay đổi với phương thức “ensureCapacity()”được
cung cấp trong lớp. Đối số int đã được truyền đến phương thức này, và phù hợp với một
dung lượng mới được tính toán như sau:

New Capacity = Old Capacity * 2 + 2

Trước khi dung lượng của bộ nhớ trung gian được cấp phát dung lượng được tính toán
mới, điều kiện sau sẽ được kiểm tra:

Nếu dung lượng mới lớn hơn đối số được truyền đến phương thức

“ensureCapacity()”, thì dung lượng bộ nhớ đệm được cấp phát

Một dung lượng được tính toán mới.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.