1. Sửa đổi chuỗi
Trong Java, chuỗi là đối tượng bất biến. Điều này được thực hiện để làm cho lớp Chuỗi được tối ưu hóa cao và cho phép nó được sử dụng ở mọi nơi. Ví dụ: chỉ các loại bất biến được khuyến nghị sử dụng làm khóa trong bộ sưu tập HashMap .
Tuy nhiên, các tình huống thường phát sinh khi các lập trình viên thấy thuận tiện hơn khi String
lớp có thể thay đổi được. Họ muốn một lớp không tạo chuỗi con mới mỗi khi một trong các phương thức của nó được gọi.
Chà, giả sử chúng ta có một chuỗi rất lớn và chúng ta cần thường xuyên thêm một cái gì đó vào cuối chuỗi đó. Trong trường hợp này, ngay cả một tập hợp các ký tự ( ArrayList<Character>
) cũng có thể hiệu quả hơn việc liên tục tạo lại và nối các đối tượng Chuỗi.
Đó chính xác là lý do tại sao một loại kiểu Chuỗi có thể thay đổi được thêm vào ngôn ngữ Java. Nó được gọi là StringBuilder
.
Tạo một đối tượng
Để tạo một StringBuilder
đối tượng dựa trên một chuỗi hiện có, bạn cần thực thi một câu lệnh như:
StringBuilder name = new StringBuilder(string);
Để tạo một chuỗi trống có thể thay đổi, bạn cần sử dụng một câu lệnh như sau:
StringBuilder name = new StringBuilder();
Danh sách các phương pháp
Lớp StringBuilder
có hai chục phương pháp hữu ích. Đây là những điều quan trọng nhất:
Phương pháp | Sự miêu tả |
---|---|
|
Chuyển đổi đối tượng đã truyền thành một chuỗi và nối nó vào chuỗi hiện tại |
|
Chuyển đổi đối tượng đã truyền thành một chuỗi và chèn nó vào chuỗi hiện tại |
|
Thay thế một phần của chuỗi được chỉ định bởi khoảng thời gian bắt đầu..kết thúc bằng chuỗi đã truyền |
|
Xóa ký tự có chỉ số đã chỉ định khỏi chuỗi |
|
Xóa các ký tự trong khoảng thời gian đã chỉ định khỏi chuỗi |
|
Tìm kiếm một chuỗi con trong chuỗi hiện tại |
|
Tìm kiếm một chuỗi con trong chuỗi hiện tại, bắt đầu từ cuối |
|
Trả về ký tự trong chuỗi tại chỉ mục đã truyền |
|
Trả về chuỗi con được xác định bởi khoảng thời gian đã chỉ định |
|
Đảo ngược chuỗi hiện tại. |
|
Thay đổi ký tự tại chỉ mục đã chỉ định thành ký tự đã truyền |
|
Trả về độ dài của chuỗi theo ký tự |
Dưới đây là mô tả ngắn gọn về từng phương pháp
2. Mô tả phương pháp:
Nối vào một chuỗi
Để thêm một cái gì đó vào một chuỗi có thể thay đổi ( StringBuilder
), hãy sử dụng append()
phương thức. Ví dụ:
Mã số | Sự miêu tả |
---|---|
|
|
Chuyển đổi thành một chuỗi tiêu chuẩn
Để chuyển một StringBuilder
đối tượng thành đối tượng String, bạn chỉ cần gọi toString()
phương thức của nó. Ví dụ
Mã số | đầu ra |
---|---|
|
|
Làm cách nào để xóa một ký tự?
Để xóa một ký tự trong chuỗi có thể thay đổi, bạn cần sử dụng deleteCharAt()
phương thức. Ví dụ:
Mã số | đầu ra |
---|---|
|
|
Làm cách nào để thay thế một phần của chuỗi bằng một chuỗi khác?
Đối với điều này có replace(int begin, int end, String str)
phương pháp. Ví dụ:
Mã số | đầu ra |
---|---|
|
|
3. Các ví dụ hữu ích khi làm việc với chuỗi
Làm cách nào để đảo ngược một chuỗi?
Có một phương pháp đặc biệt để làm điều này — reverse()
; Ví dụ:
Mã số | đầu ra |
---|---|
|
|
StringBuffer
lớp học
Có một lớp khác - StringBuffer, tương tự như lớp này StringBuilder
, nhưng các phương thức của nó được đánh dấu bằng công synchronized
cụ sửa đổi. Nó có nghĩa là StringBuffer
đối tượng có thể được truy cập đồng thời từ nhiều luồng.
Nhưng nó chậm hơn nhiều so với StringBuilder
. Bạn có thể cần lớp này khi bạn bắt đầu tích cực khám phá đa luồng trong nhiệm vụ Đa luồng Java .