Trong java, string(chuỗi) là một đối tượng biểu diễn một chuỗi các giá trị char.
Ví dụ:
1 2 |
|
Tương tự:
1 |
|
Lớp String trong java cung cấp rất nhiều các phương thức để thực hiện các thao tác với chuỗi như: compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring(), ...
Lớp java.lang.String được implements từ các interface Serializable, Comparable and CharSequence.
CharSequence Interface được sử dụng để biểu diễn chuỗi các ký tự. Nó được cài đặt bởi các lớp String, StringBuffer và StringBuilder. Điều này có nghĩa là chúng ta có thể tạo chuỗi ký tự trong java bằng cách sử dụng 3 lớp này.
String là bất biến (immutable) tức là không thể thay đổi. Có nghĩa là khi nào bạn thay đổi giá trị của bất kỳ chuỗi nào thì một instance mới được tạo ra. Đối với chuỗi có thể thay đổi, bạn có thể sử dụng các lớp StringBuffer và StringBuilder.
Chúng ta sẽ học về chuỗi bất biến sau. Còn bây giờ chúng ta sẽ học về string trong java là gì và cách tạo đối tượng string trong java.
Thông thường, string là một chuỗi các ký tự. Nhưng, trong java string là một đối tượng biểu diễn một nối tiếp của các ký tự. Lớp java.lang.String được sử dụng để tạo đối tượng string.
Có 2 cách để tạo đối tượng String:
String literal được tạo ra bằng cách sử dụng 2 dấu nháy kép. Ví dụ:
1 |
|
Mỗi khi bạo tạo một biến string literal, đầu tiên JVM sẽ kiểm tra xem giá trị đó đã tồn tại trong Pool chưa. Nếu chuỗi này đã tồn tại trong Pool, thì giá trị của biến sẽ được tham chiếu đến instance đã được tạo ra trong Pool. Nếu chuỗi này không tồn tại trong Pool, một instance mới được tạo ra và đặt vào trong Pool. Ví dụ:
1 2 |
|
Theo ví dụ trên, chỉ có một đối tượng chuỗi "Webcome" được tạo ra. Biến s1 và s2 được tham chiếu đến đối tượng chuỗi "Webcome".
Chú ý: Các đối tượng String được lưu trong một vùng nhớ đặc biệt đó là Pool hằng số chuỗi.
Để làm cho Java sử dụng bộ nhớ hiệu quả hơn (Vì nếu chuỗi đã tồn tại trong Pool thì sẽ không có đối tượng mới được tạo ra).
1 |
|
Trong trường hợp này, JVM sẽ tạo ra một đối tượng string mới như một đối tượng trong bộ nhớ HEAP và chữ "Welcome" sẽ được đặt trong Pool. Biến s sẽ tham chiếu tối đối tượng được tạo ra trong HEAP.
Ví dụ về Java String
1 2 3 4 5 6 7 8 9 10 11 |
|
Kết quả:
java strings example
Lớp java.lang.String cung cấp nhiều phương thức hữu ích để thực hiện các thao tác trên chuỗi của các giá trị char.
No. |
Phương thức |
Mô tả |
---|---|---|
1 |
Trả về giá trị char cho chỉ số cụ thể. |
|
2 |
Trả về độ dài chuỗi. |
|
3 |
Trả về chuỗi được format. |
|
4 |
static String format(Locale l, String format, Object... args) |
Trả về chuỗi được format theo vùng miền(quốc gia). |
5 |
Trả về chuỗi con bắt đầu từ chỉ số index. |
|
6 |
Trả về chuỗi con từ chỉ số bắt đầu đến chỉ số kết thúc. |
|
7 |
Kiểm tra chuỗi chứa chuối không, kết quả trả về là giá trị boolean. |
|
8 |
static String join(CharSequence delimiter, CharSequence... elements) |
Trả về chuỗi được nối từ nhiều chuỗi. |
9 |
static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) |
Trả về chuỗi được nối từ nhiều chuỗi. |
10 |
kiểm tra sự tương đương của chuỗi với đối tượng. |
|
11 |
Kiểm tra chuỗi rỗng. |
|
12 |
Nối chuỗi cụ thể. |
|
13 |
Thay thế tất cả giá trị char cụ thể bằng một giá trị char mới. |
|
14 |
Thay thế tất cả các chuỗi bằng một chuỗi mới. |
|
15 |
So sanh chuỗi, không phân biệt chữ hoa hay chữ thường. |
|
16 |
Trả về mảng các chuỗi được tách ra theo giá trị regex. |
|
17 |
Trả về mảng các chuỗi được tách ra theo giá trị regex và có giới hạn. |
|
18 |
Trả về chuỗi interned. |
|
19 |
Trả về vị trí của ký tự ch cụ thể. |
|
20 |
Trả về vị trí của ký tự ch tính từ từ vị trí fromIndex. |
|
21 |
Trả về vị trí của chuỗi con substring. |
|
22 |
Trả về chuỗi con bắt đầu từ vị trí substring đến vị trí fromIndex. |
|
23 |
Trả về chuỗi chữ thường. |
|
24 |
Trả về chuỗi chữ thường bằng việc sử dụng locale cụ thể. |
|
25 |
Trả về chuỗi chữ hoa. |
|
26 |
Trả về chuỗi chữ hoa bằng việc sử dụng locale cụ thể. |
|
27 |
Xóa khoảng trẳng ở đầu và cuối của chuỗi. |
|
28 |
Chuyển đổi giá trị kiểu dữ liệu đã cho thành chuỗi. |
Bạn có biết?
Nguồn tin: viettuts.vn