11/08/2018, 19:42
Sự khác nhau giữa StringBuffer và StringBuilder trong java
Sự khác nhau giữa String và StringBuffer trong java Sự khác nhau giữa StringBuffer và StringBuilder trong java Sự khác nhau giữa StringBuffer và StringBuilder trong java được thể hiện trong bảng sau: No. StringBuffer StringBuilder 1) StringBuffer là đồng bộ ...
Sự khác nhau giữa String và StringBuffer trong java
Sự khác nhau giữa StringBuffer và StringBuilder trong java
Sự khác nhau giữa StringBuffer và StringBuilder trong java được thể hiện trong bảng sau:
No. | StringBuffer | StringBuilder |
1) | StringBuffer là đồng bộ (synchronized) tức là luồng an toàn. Điều này có nghĩa là không thể có 2 luồng cùng truy cập phương thức của lớp StringBuffer đồng thời. | StringBuilder là không đồng bộ (non-synchronized) tức là luồng không an toàn. Điều này có nghĩa là có 2 luồng cùng truy cập phương thức của lớp StringBuilder đồng thời. |
2) | StringBuffer không hiệu quả bằng StringBuilder. | StringBuilder hiệu quả hơn StringBuffer. |
Ví dụ về StringBuffer trong java
public class BufferTest { public static void main(String[] args) { StringBuffer buffer = new StringBuffer("hello"); buffer.append("java"); System.out.println(buffer); } }
Output:
hellojava
Ví dụ về StringBuilder trong java
public class BuilderTest { public static void main(String[] args) { StringBuilder builder = new StringBuilder("hello"); builder.append("java"); System.out.println(builder); } }
Output:
hellojava
Test hiệu suất của StringBuffer và StringBuilder trong java trong java
public class ConcatTest { public static void main(String[] args) { long startTime = System.currentTimeMillis(); StringBuffer sb = new StringBuffer("Java"); for (int i = 0; i < 100000; i++) { sb.append("Hello"); } System.out.println("Thời gian nối chuỗi của StringBuffer: " + (System.currentTimeMillis() - startTime) + "ms"); startTime = System.currentTimeMillis(); StringBuilder sb2 = new StringBuilder("Java"); for (int i = 0; i < 100000; i++) { sb2.append("Hello"); } System.out.println("Thời gian nối chuỗi của StringBuilder: " + (System.currentTimeMillis() - startTime) + "ms"); } }
Output:
Thời gian nối chuỗi của StringBuffer: 11ms Thời gian nối chuỗi của StringBuilder: 5ms
Tìm hiểu về xử lý chuỗi trong java
- String là gì
- Immutable String
- So sánh String
- Nối String
- Sub-String
- Phương thức của lớp String
- Lớp StringBuffer
- Lớp StringBuilder
- String vs StringBuffer
- StringBuffer vs Builder
- Tạo lớp Immutable
- Phương thức toString
- Lớp StringTokenizer
Sự khác nhau giữa String và StringBuffer trong java