• Skip to main content
  • Bỏ qua primary sidebar
  • Bài học Toán lớp 1
  • Học tiếng Anh
  • CNTT
  • Giáo dục
  • Nghe Nhạc

Học hỏi Net

Mạng học hỏi cho học sinh và cuộc sống

Bạn đang ở:Trang chủ / Lập trình Java / Lớp StringBuffer trong Java

Lớp StringBuffer trong Java

04/03/2021 by Minh Đạo

Lớp StringBuffer trong Java được sử dụng để tạo chuỗi có thể sửa đổi (chuỗi dạng mutable). Lớp StringBuffer là giống như lớp String trong Java, ngoại trừ ở điểm là nó là có thể sửa đổi.

Ghi chú: Lớp StringBuffer là an toàn luồng (Thread-safe), ví dụ: nhiều Thread không thể truy cập nó đồng thời. Vì thế nó là an toàn và sẽ cho kết quả trong một thứ tự.

1. Các Constructor quan trọng của lớp StringBuffer trong Java

Có 3 constructor của lớp StringBuffer:

  • StringBuffer(): tạo một bộ đệm chuỗi trống với dung lượng capacity ban đầu là 16.

  • StringBuffer(String str): tạo một bộ đệm chuỗi với chuỗi đã xác định.

  • StringBuffer(int capacity): tạo một bộ đệm chuỗi trống với dung lượng capacity đã cho.

2. Các phương thức quan trọng của lớp StringBuffer trong Java

Một số phương thức quan trọng của lớp StringBuffer

  • public synchronized StringBuffer append(String s): được sử dụng để phụ thêm (append) chuỗi đã cho với chuỗi này. Phương thức append() được nạp chồng giống dạng append(char), append(boolean), append(int), append(float), append(double) …
  • public synchronized StringBuffer insert(int offset, String s): được sử dụng để chèn chuỗi đã cho với chuỗi này tại vị trí đã cho. Phương thức insert() được nạp chồng giống dạng insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) …
  • public synchronized StringBuffer replace(int startIndex, int endIndex, String str): được sử dụng để thay thế chuỗi từ chỉ mục ban đầu startIndex và chỉ mục kết thúc endIndex đã cho.
  • public synchronized StringBuffer delete(int startIndex, int endIndex): được sử dụng để xóa chuỗi từ chỉ mục startIndex và endIndex đã cho.
  • public synchronized StringBuffer reverse(): được sử dụng để đảo ngược chuỗi.
  • public int capacity(): được sử dụng để trả về dung lượng capacity hiện tại.
  • public void ensureCapacity(int minimumCapacity): được sử dụng để bảo đảm rằng capacity ít nhất bằng với minimum đã cho.
  • public char charAt(int index): được sử dụng để trả về ký tự tại vị trí đã cho.
  • public int length(): được sử dụng để trả về độ dài của chuỗi (chẳng hạn như tổng số ký tự).
  • public String substring(int beginIndex): được sử dụng để trả về chuỗi con từ chỉ mục bắt đầu beginIndex đã cho.
  • public String substring(int beginIndex, int endIndex): được sử dụng để trả về chuỗi con từ beginIndex đến endIndex đã cho.

3. Chuỗi dạng mutable là gì?

Một chuỗi mà có thể sửa đổi được xem như là chuỗi dạng mutable. Các lớp StringBuffer và StringBuilder được sử dụng để tạo các chuỗi dạng mutable.

Phương thức append() của lớp StringBuffer trong Java

Phương thức append() được sử dụng để nối chuỗi tham số đã cho với chuỗi này.

Ví dụ:

class ELIB {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("Hello ");
    sb.append("Java"); //bay gio chuoi ban dau bi thay doi  
    System.out.println(sb); //in ra ket qua la Hello Java  
  }
}

Phương thức insert() của lớp StringBuffer trong Java

Phương thức insert() chèn chuỗi đã cho vào chuỗi này tại vị trí đã cho. Ví dụ:

class ELIB {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("Hello ");
    sb.insert(1, "Java"); //bay gio chuoi ban dau bi thay doi  
    System.out.println(sb); //in ra ket qua la HJavaello  
  }
}

Phương thức replace() của lớp StringBuffer trong Java

Phương thức replace() thay thế chuỗi đã cho bắt đầu từ chỉ mục beginIndex tới endIndex. Ví dụ:

class ELIB {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("Hello");
    sb.replace(1, 3, "Java");
    System.out.println(sb); //in ra ket qua la HJavalo  
  }
}

Phương thức delete() của lớp StringBuffer trong Java

Phương thức delete() xóa chuỗi bắt đầu từ chỉ mục beginIndex tới endIndex đã cho. Ví dụ:

class ELIB {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("Hello");
    sb.delete(1, 3);
    System.out.println(sb); //in ra ket qua la Hlo  
  }
}

Phương thức reverse() của lớp StringBuffer trong Java

Phương thức reverse() đảo ngược chuỗi hiện tại. Ví dụ:

class ELIB {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("Hello");
    sb.reverse();
    System.out.println(sb); //in ra ket qua la olleH  
  }
}

Phương thức capacity() của lớp StringBuffer trong Java

Phương thức capacity() trả về dung lượng capacity hiện tại của bộ đệm. Dung lượng capacity mặc định của bộ đệm là 16. Nếu số ký tự tăng lên từ dung lượng hiện tại, nó tăng dung lượng theo công thức (oldcapacity*2)+2. Ví dụ, nếu dung lượng hiện tại là 16, nó sẽ là (16*2)+2=34. Ví dụ:

class ELIB {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer();
    System.out.println(sb.capacity()); //mac dinh la 16  
    sb.append("Hello");
    System.out.println(sb.capacity()); //bay gio la 16  
    sb.append("Java la mot ngon ngu lap trinh manh me");
    System.out.println(sb.capacity()); //bay gio la (16*2)+2=34 vi du cua cong thuc (oldcapacity*2)+2  
  }
}

Phương thức ensureCapacity() của lớp StringBuffer trong Java

Phương thức ensureCapcity() bảo đảm rằng capacity ít nhất bằng với minimum đã cho. Nếu nó lớn hơn capacity hiện tại, nó tăng capacity theo công thức (oldcapacity*2)+2. Ví dụ, nếu dung lượng hiện tại là 16, nó sẽ là (16*2)+2=34. Ví dụ:

class ELIB {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer();
    System.out.println(sb.capacity()); //mac dinh la 16  
    sb.append("Hello");
    System.out.println(sb.capacity()); //bay gio la 16  
    sb.append("Java la mot ngon ngu lap trinh manh me");
    System.out.println(sb.capacity()); //bay gio la (16*2)+2=34 vi du cua cong thuc (oldcapacity*2)+2  
    sb.ensureCapacity(10); //bay gio khong phai thay doi 
    System.out.println(sb.capacity()); //bay gio la 34  
    sb.ensureCapacity(50); //bay gio la (34*2)+2  
    System.out.println(sb.capacity()); //bay gio la 70  
  }
}

Trên đây là bài viết của eLib.VN về lớp StringBuffer trong Java. Hy vọng qua bài viết, bạn đọc có thể sử dụng được và kết hợp chúng với những kiến thức đã học để có những đoạn code tối ưu nhất. Chúc các bạn thành công!

Thuộc chủ đề:Lập trình Java Tag với:Java

Bài liên quan:

  1. Tạo Javadoc
  2. Cơ bản về Applet trong Java
  3. Thread trong Java
  4. Gửi Email trong Java
  5. Lập trình mạng Socket trong Java
  6. Serialization trong Java
  7. Generic trong Java
  8. Custom Exception trong Java
  9. ExceptionHandling và Ghi đè phương thức trong Java
  10. Từ khóa throws trong Java

Sidebar chính

Bài viết mới

  • Giải bài tập Toán lớp 3 Bài: Luyện tập chung 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về giải toán 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về hình học 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về đại lượng 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập bốn phép tính trong phạm vi 100000 17/03/2021

Chuyên mục

  • Bài học Công nghệ 6 (32)
  • Bài học Công Nghệ 7 (60)
  • Bài học Địa lý 6 (27)
  • Bài học Địa lý 7 (61)
  • Bài học GDCD 6 (18)
  • Bài học GDCD 7 (18)
  • Bài học Lịch sử 6 (23)
  • Bài học Lịch sử 7 (29)
  • Bài học Ngữ Văn 6 (97)
  • Bài học Ngữ Văn 7 (101)
  • Bài học Sinh 6 (50)
  • Bài học Sinh 7 (61)
  • Bài học Tiếng Việt lớp 5 (258)
  • Bài học Tin học 6 (30)
  • Bài học Tin học 7 (23)
  • Bài học Toán 6 (67)
  • Bài học Toán 7 (54)
  • Bài học Toán lớp 1 (61)
  • Bài học Toán lớp 2 (92)
  • Bài học Toán lớp 3 (75)
  • Bài học Toán lớp 4 (63)
  • Bài học Toán lớp 5 (57)
  • Bài học Vật lý 6 (30)
  • Bài học Vật lý 7 (30)
  • CNTT (3)
  • Family and Friends 1 (62)
  • Family and Friends 2 (80)
  • Family and Friends 3 (80)
  • Family and Friends 4 (84)
  • Family and Friends 5 (76)
  • Giải SGK Tiếng Anh 5 mới (67)
  • Giải SGK Tiếng Anh 6 mới (102)
  • Giải SGK Tiếng Anh 7 mới (98)
  • Giải SGK Tiếng Anh lớp 3 (68)
  • Giải SGK Tiếng Anh lớp 4 (68)
  • Giải SGK Toán 3 (77)
  • Giáo dục (178)
  • Học tiếng Anh (105)
  • Lập trình HTML và CSS (83)
  • Lập trình Java (110)
  • Nghe Nhạc (1)
  • Tiếng Anh lớp 1 Macmillan (24)
  • Tiếng Anh lớp 2 Macmillan (23)
  • Tiếng Việt lớp 5 sách VNEN (105)

Copyright © 2021 · Hocz.Net.
Hoc Tap vn - Học Trắc nghiệm - Học Giải - Môn Toán - Sách toán - eBook Toán - Giai Bai tap hay - Lop 12