Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa lớp String và StringBuffer trong Java


Trong bài đăng này, chúng ta sẽ hiểu sự khác biệt giữa lớp String và StringBuffer trong Java.

Chuỗi

  • Nó là một lớp bất biến.

  • Điều này có nghĩa là không thể thực hiện các thay đổi đối với các phần tử của lớp.

  • Nó chậm.

  • Nó tiêu tốn ít bộ nhớ hơn khi các chuỗi được nối với nhau.

  • Điều này là do mỗi lần, một phiên bản mới được tạo.

  • Nó ghi đè phương thức equals () của lớp Object.

  • Do đó, phương thức ‘bằng’ có thể được sử dụng để so sánh hai chuỗi.

Sau đây là một ví dụ về lớp String -

Ví dụ

public class StringDemo {
   public static void main(String args[]) {
      String palindrome = "Dot saw I was Tod";
      int len = palindrome.length();
      System.out.println( "String Length is : " + len );
   }
}

Bộ đệm chuỗi

  • Nó là một lớp có thể thay đổi.

  • Điều này có nghĩa là có thể thực hiện các thay đổi đối với các phần tử trong lớp này.

  • Nó nhanh chóng.

  • Nó sử dụng ít bộ nhớ hơn khi các chuỗi được nối với nhau.

  • Lớp này không ghi đè phương thức equals () của lớp Đối tượng.

Sau đây là một ví dụ về lớp StringBuffer -

Ví dụ

public class Demo {
   public static void main(String args[]) {
      StringBuffer sBuffer = new StringBuffer("test");
      sBuffer.append(" String Buffer");
      System.out.println(sBuffer);
   }
}