1. Java String là gì?
Trong Java, String về cơ bản là một đối tượng biểu diễn chuỗi các giá trị char. Một mảng các ký tự hoạt động giống như Java string
char[] ch = {'T', 'â', 'y', 'J', 'a', 'v', 'a'};
String s = new String(ch);→
String s = "TâyJava";Lớp Java String cung cấp nhiều phương thức để thực hiện các để xử lý String như compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring(), v.v.
Interface CharSequence được sử dụng để biểu diễn chuỗi ký tự. Các lớp String, StringBuffer và StringBuilder đều implements nó. Điều đó có nghĩa là chúng ta có thể tạo một string trong Java bằng cách sử dụng ba lớp này.

Java String là bất biến nghĩa là không thể thay đổi kích thước của nó. Bất cứ khi nào chúng ta thay đổi bất kỳ string nào đó thì một instance mới sẽ được tạo ra. Nếu bạn muốn sử dụng các chuỗi có thể thay đổi thì có thể dùng StringBuffer và StringBuilder.
2. Làm thế nào để khởi tạo một Java String?
a. Sử dụng string literal
String được tạo ra với dấu “”
String s1 = "Welcome to Tay Java";Mỗi lần bạn tạo ra một String, JVM sẽ kiểm tra “string constant pool” trước. Nếu String đã tồn tại trong pool thì một tham chiếu đến instance đó sẽ được tạo ra. Nếu String đó chưa tồn tại thì JVM sẽ tạo string mới.
String s1 = "Welcome to Tay Java";
String s2 = "Welcome to Tay Java"; // JVM không tạo một string mới
- Tại sao Java sử dụng khái niệm String literal?
Để làm cho Java sử dụng bộ nhớ hiệu quả hơn, Bởi vì không có đối tượng mới nào được tạo nếu nó đã tồn tại trong Spring constant pool.
b. Sử dụng từ khóa new
String s1 = new String("Welcome to Tây Java");Trong trường hợp như vậy, JVM sẽ tạo một đối tượng String mới trong bộ nhớ heap bình thường (không phải pool) và giá trị “Welcome to Tây Java” theo nghĩa đen sẽ được đặt trong Spring constant pool. Biến s sẽ tham chiếu đến đối tượng trong heap (không phải pool).
3. Các method trong class String
| # | Method | Mô tả |
| 1 | char charAt(int index) | Trả về giá trị char cho index cụ thể |
| 2 | int length() | Trả về độ dài của string |
| 3 | static String format(String format, Object… args) | Trả về một String đã được định dạng |
| 4 | static String format(Locale locale, String format, Object… args) | Trả về một String đã được định dạng theo ngôn ngữ đã cho |
| 5 | String substring(int beginIndex) | Trả về substring từ vị trí index cho trước |
| 6 | String substring(int beginIndex, int endIndex) | Trả về substring từ index bắt đầu đến index kết thúc |
| 7 | boolean contains(CharSequence s) | Nó trả về giá trị đúng hoặc sai sau khi khớp với string giá trị char |
| 8 | static String join(CharSequence delimiter, CharSequence… elements) | Trả về một string đã nối |
| 9 | static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) | Trả về một string đã nối |
| 10 | boolean equals(Object another) | Kiểm tra xem string có giống với đối tượng đã cho hay không |
| 11 | boolean isEmpty() | Kiểm tra string có bị rỗng không (null hoặc blank) không ? |
| 12 | String concat(String str) | Nối string đã chỉ định |
| 13 | String replace(char old, char new) | Thay thế tất cả các lần xuất hiện của giá trị char được chỉ định |
| 14 | String replace(CharSequence old, CharSequence new) | Thay thế tất cả các lần xuất hiện của CharSequence đã chỉ định |
| 15 | static String equalsIgnoreCase(String another) | So sánh với một string khác không kiểm tra chữ hoa chữ thường |
| 16 | String[] split(String regex) | Trả về một string phân tách khớp với regex |
| 17 | String[] split(String regex, int limit) | Trả về một string phân tách khớp với regex và limit |
| 18 | String intern() | Trả về một string đã được đồng bộ trong String constant pool |
| 19 | int indexOf(int ch) | Trả về giá trị char được chỉ định |
| 20 | int indexOf(int ch, int fromIndex) | Trả về giá trị char được chỉ định bắt đầu theo index đã cho |
| 21 | int indexOf(String substring) | Trả về chỉ mục string con được chỉ định |
| 22 | int indexOf(String substring, int fromIndex) | Trả về chỉ mục string con được chỉ định bắt đầu theo index đã cho |
| 23 | String toLowerCase() | Trả về một string thường |
| 24 | String toLowerCase(Locale locale) | Trả về một string thường theo ngôn ngữ được chỉ định |
| 25 | String toUpperCase() | Trả về một STRING IN HOA |
| 26 | String toUpperCase(Locale locale) | Trả về một STRING IN HOA theo ngôn ngữ được chỉ định |
| 27 | String trim() | Loại bỏ khoảng trắng ở trước và sau String |
| 28 | static String valueOf(int value) | Chuyển đổi kiểu từ dữ liệu đã cho thành string. Đây là overloading method |
Không có nhận xét nào:
Đăng nhận xét