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); } }