× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

StringBuffer trong Java - Tìm hiểu Java StringBuffer cùng ví dụ cụ thể

02/10/2021 01:07

Chúng ta đã tìm hiểu về chuỗi trong Java trong các bài viết trước và đã nắm rõ các yếu tố cơ bản của chuỗi. Các chuỗi trong Java đóng một vai trò rất quan trọng và tìm hiểu kỹ lưỡng về chúng là một trong những nhiệm vụ cần thiết để trở thành một nhà phát triển Java giỏi. Bạn phải biết cách thao tác với các Chuỗi theo nhiều cách khác nhau. Bài viết này sẽ giới thiệu cho các bạn về thao tác với String trong Java là lớp StringBuffer giúp thao tác và thực hiện các thao tác khác nhau trên Strings theo nhiều cách. Trong bài viết này, chúng ta sẽ tìm hiểu tất cả các phương thức và hàm tạo của lớp Java StringBuffer.

StringBuffer trong Java là gì?

Chuỗi trong Java là chuỗi ký tự có thuộc tính Immutable. Do đó, việc xem xét Java này cung cấp một lớp StringBuffer cung cấp cơ sở để tạo ra một chuỗi các ký tự với các thuộc tính có thể thay đổi (sửa đổi). Trong Java, lớp có hai con trỏ chính được sử dụng để định nghĩa một lớp:

  1. Hàm tạo
  2. Phương thức

Vì vậy, hãy đi sâu vào lớp StringBuffer.

Java StringBuffer Constructors - StringBuffer trong Java

1. Bộ đệm String rỗng

Hàm tạo này tạo ra một bộ đệm chuỗi rỗng với không gian ban đầu là 16 ký tự.

StringBuffer str = new StringBuffer ();

2. Đối số StringBuffer

Hàm tạo này tạo một bộ đệm chuỗi với kích thước được xác định trong đối số.

StringBuffer str = new StringBuffer (kích thước int); // nó nhận một đối số là số nguyên.

StringBuffer str = new StringBuffer (20);

3. Chuỗi StringBuffer trong Java

Hàm tạo này khai báo một tập hợp một chuỗi ban đầu với 16 ký tự trong một không gian dành riêng mà không cần phân bổ lại.

StringBuffer str = new StringBuffer (String str); // nó nhận chuỗi làm đối số.

StringBuffer str = new StringBuffer (“ContentWriter”);

Các phương thức StringBuffer trong Java

Các phương thức trong Java là tập hợp các biểu thức được xác định trước thực thi một số loại tác vụ khi chúng ta gọi chúng một cách rõ ràng. Nói chung để gọi bất kỳ phương thức nào chúng ta chỉ thực hiện:

                ReferenceVariable.MethodName (tham số)

Bây giờ đi sâu trực tiếp đến các phương thức của lớp StringBuffer:

1. StringBuffer: length ()

Nó xác định số ký tự trong Chuỗi.

Mã ví dụ để hiểu phương thức length () của lớp StringBuffer:

package com.techvidvan.stringbuffer;

import java.io. * ;

class Main {

  public static void main(String[] args) {

    StringBuffer str = new StringBuffer("ContentWriter");

    int len = str.length();

    System.out.println("Length : " + len);

  }

}

 

Output

Length: 13

>>> Đọc thêm: Sắp xếp nối bọt trong Java - Tìm hiểu về Bubble Sort trong Java

2. StringBuffer: capacity()

Nó xác định dung lượng của chuỗi bị chiếm trong bộ đệm. Phương thức dung lượng cũng đếm không gian dành riêng được chiếm bởi chuỗi.

package com.techvidvan.stringbuffer;

import java.io. * ;

class Main {

 public static void main(String[] args) {

   StringBuffer str = new StringBuffer("ContentWriter");

   int cap = str.capacity();

   System.out.println("Capacity : " + cap);

 }

}

Output:

Capacity: 29

3. StringBuffer: append ()

Phương thức append () được sử dụng để nối chuỗi hoặc số vào cuối chuỗi.

Mã ví dụ để hiểu phương thức append () của lớp StringBuffer:

package com.techvidvan.stringbuffer;

import java.io.*;

class Main

{

public static void main(String[] args)

{

StringBuffer str = new StringBuffer("Tech");

str.append("Vidvan"); // appends a string in the previously defined string.

System.out.println(str);

str.append(0); // appends a number in the previously defined string.

System.out.println(str);

}

}

Output:

TechVidvanTechVivan0

4. StringBuffer: insert()

Phương thức insert () được sử dụng để chèn chuỗi vào chuỗi đã xác định trước đó tại một vị trí được lập chỉ mục cụ thể. Trong phương thức chèn dưới dạng tham số, chúng tôi cung cấp hai đối số đầu tiên là chỉ mục và thứ hai là chuỗi.

Ví dụ mã: 

package com.techvidvan.stringbuffer;

public class StringBufferInsert {

 public static void main(String[] args) {

   StringBuffer stringName = new StringBuffer(" Welcome");

   System.out.println(stringName);

   stringName.insert(8, " to ");

   System.out.println(stringName);

   stringName.insert(12, "TechVidvan ");

   System.out.println(stringName);

   stringName.insert(22, " Tutorial ");

   System.out.println(stringName);

   stringName.insert(31, " of ");

   System.out.println(stringName);

   stringName.insert(35, "Java");

   System.out.println(stringName);

 }

}

Output:

Welcome

Welcome to

Welcome to TechVidvan

Welcome to TechVidvan Tutorial

Welcome to TechVidvan Tutorial of

Welcome to TechVidvan Tutorial of Java

>>> Tham khảo: Khóa học lập trình Java

5. StringBuffer: reverse()

Phương thức reverse () đảo ngược tất cả các ký tự của đối tượng của lớp StringBuffer. Và, như một đầu ra, phương thức này trả về hoặc cung cấp cho đối tượng Chuỗi đã đảo ngược.

6. StringBuffer: delete ()

Hãy chuyển sang phương thức tiếp theo của lớp StringBuffer là phương thức delete (). Phương thức delete () xóa một chuỗi ký tự khỏi đối tượng StringBuffer. Chúng tôi cung cấp hai đối số cho phương thức này, trong đó đối số đầu tiên là chỉ mục bắt đầu của Chuỗi mà chúng ta muốn xóa và chỉ mục thứ hai là chỉ mục cuối cùng của Chuỗi mà chúng ta muốn xóa. Như vậy, với phương pháp này, chúng ta có thể xóa hoặc loại bỏ một chuỗi ký tự khỏi chuỗi. Đầu ra là các ký tự. Chuỗi sau khi loại bỏ các ký tự được chỉ định.

7. StringBuffer deleteCharAt ()

Phương thức deleteCharAt () chỉ xóa ký tự tại chỉ mục được chỉ định. Chúng tôi cung cấp số chỉ mục làm đối số của phương thức và nó xóa ký tự có tại chỉ mục đó và trả về chuỗi kết quả sau khi xóa ký tự cụ thể đó.

Cú pháp:

           

         stringName.deleteCharAt (int index)

8. Replace StringBuffer ()

Phương thức Replace () của lớp StringBuffer thay thế một chuỗi ký tự bằng một chuỗi ký tự khác. Nó cần ba đối số, một là chỉ mục bắt đầu và đối số thứ hai là chỉ mục cuối cùng, trong khi đối số cuối cùng là chuỗi ký tự mà chúng ta muốn thay thế bằng các ký tự được chỉ định.

Cú pháp:

                   

       stringName.replace (int startIndex, int endIndex, String string)

Những điểm quan trọng cần lưu ý về StringBuffer trong Java

  • Lớp java,lang,StringBuffer mở rộng từ lớp Object
  • Serializable, Appendable, CharSequence là các giao diện được triển khai của lớp StringBuffer.
  • Chúng ta có thể sử dụng  nhiều luồng một cách an toàn trong khi sử dụng lóp String Buffer
  • Bất cứ khi nào một hoạt động xảy ra liên quan đến một chuỗi nguồn, lớp nyaf chỉ đồng bộ hóa trên bộ đệm chuỗi thực hiện thao tác, không phải trên nguồn
  • Lớp này kế thừa một số phương thức từ lớp Object là clone, equals, finalize, getClass, hashCode, …

Kết luận: Lớp StringBuffer của Java rất hữu ích để thực hiện một số thao tác trên Chuỗi để chúng ta có thể thao tác với chuỗi theo nhiều cách khác nhau để có được kết quả mong muốn. Lớp StringBuffer hoạt động hiệu quả hơn string. Lớp này có nhiều hàm tạo và phương thức được xác định trước giúp chúng ta thao tác với các Chuỗi. Trong bài viết này, chúng ta đã nghiên cứu nhiều phương thức bộ đệm chuỗi trong java như chèn, xóa, thay thế, độ dài, dung lượng, nối thêm, và giải thích với ví dụ thích hợp. Hy vọng bạn đã nắm rõ về StringBuffer và có thể áp dụng ngay trong các dự án tiếp theo. Tìm hiểu thêm về Java và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H.